您现在的位置: 启天网 >> 技术中心 >> Java >> 正文
今天是:
Struts2建立一个数据库连接组件         ★★★★★ 【字体:
Struts2建立一个数据库连接组件
作者:Struts2B…    文章来源:CSDN Blog    点击数:    更新时间:2008-9-7

在一般的大型项目开发中,都需要建立一个数据库连接组件,其他的业务逻辑或者是DAO,如果需要访问数据库,只需要调用该组件即可,如代码15.3所示,为一个标准的MySQL数据库连接组件。

代码15.3  MySQL数据库连接组件

package bbs.db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.naming.*;

import javax.sql.DataSource;

public class DbConn {

    private static DataSource ds = null;

    private static Connection conn = null;

    // 使用JDBC连接数据库

    public static Connection getConn_jdbc() {

        try {

            //定义url,指定MySQL数据库端口和数据库名

            String url = "jdbc:mysql://localhost:3306/bbsdb";

            //定义用户名和密码

            String username = "root";

            String password = "pla";

            Class.forName("com.mysql.jdbc.Driver").newInstance();

            conn = DriverManager.getConnection(url, username, password);

            return conn;

        } catch (Exception e) {

            System.err.println("数据库连接异常: " + e.getMessage());

            return null;

        }

    }

    // 使用数据源连接

    public static Connection getCon() {

        try {

            //使用数据源访问数据库

            InitialContext ctx = new InitialContext();

            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/bbsdb");

            conn = ds.getConnection();

            return conn;

        } catch (Exception e) {

            System.err.println("数据库连接异常: " + e.getMessage());

            return null;

        }

    }

    // 关闭数据库连接

    public void CloseConn() {

        try {

            conn.close();

        } catch (Exception e) {

            System.err.println("数据库连接关闭异常: " + e.getMessage());

        }

    }

    // 测试数据库连接

    public static void main(String[] a) {

        Connection conn;

        DbConn dc = new DbConn();

        conn = dc.getConn_jdbc();

        try {

            Statement stmt = conn.createStatement();

            String strSql = "select * from  bbs";

            //查询建立数据集

            ResultSet rs = stmt.executeQuery(strSql);

            while (rs.next()) {

                System.out.println("标题:" + rs.getString("title"));

            }

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            // 注意,必须在最后关闭数据库连接,否则将严重影响系统性能

            dc.CloseConn();

        }

    }

}

该连接组件提供了两种访问数据库的方式:使用基本的JDBC和数据源。一般的应用都建议使用数据源的方式来访问数据库,该组件中,使用main函数对JDBC连接方式进行了测试,在后面的论坛示例中,就是使用了本数据库连接组件。

注意

main测试函数中,不能采用数据源的方式来访问数据库,否则会出现异常,因main函数是采用一个Java Apllication方式执行的,不能访问Tomcat的上下文内容;但是可以在Action或者是Action所调用的业务逻辑组件中使用数据源的方式来访问数据库。

文章录入:junsan    责任编辑:junsan05 
  • 上一篇文章:
  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    Java中不要裸写代码
    Java多线程杂谈
    两个变量交换的三种方法
    网站登录记忆跳转jsp实现的一种方法
    策略模式及实现
    IIS+tomcat整合,并且通过域名访问网站
    Java实现按字节长度截取字符串
    Java多线程技术中所有方法的详细解析
    JAVA中的接口和抽象类(加深初学者理解)
    Java开发者需坚守的十大基本准则
     网友评论:(最新10条。只代表网友观点,与本站立场无关!)