Java开发中JDBC连接数据库

基本方式

连接步骤

     * 1.加载JDBC驱动类
     * 2.通过URL获取Connection连接
     * 3.创建Statement
     * 4.执行SQL语句
     * 5.处理结果集
     * 6.关闭连接

实现代码

public void base() {
        try {
            /*
             * 加载JDBC驱动类
             * 
             * MySql:"com.mysql.jdbc.Driver" SQL
             * Server:"com.microsoft.sqlserver.jdbc.SQLServerDriver"
             * Oracle:"oracle.jdbc.OracleDriver"
             * PostgreSQL:"org.postgresql.Driver" SQLite:"org.sqlite.JDBC"
             */
            Class.forName("com.mysql.jdbc.Driver");
            /*
             * 通过连接URL获取Connection连接
             * 
             * MySql:
             * "jdbc:mysql://localhost:3306/database?user=<username>&password=<password>"
             * SQL Server:
             * "jdbc:sqlserver://localhost\\sqlexpress;user=<username>;password=<password>"
             * Oracle:"jdbc:oracle:thin:@localhost:1521:mydb"
             * PostgreSQL:"jdbc:postgresql:testdb"
             * SQLite:"jdbc:sqlite:sample.mydb"
             */
            Connection con = DriverManager
                    .getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root");
            // 执行静态SQL语句。通常通过Statement实例实现
            Statement stmt = con.createStatement();
            String sql = "select * from user";
            // 执行SQL语句
            stmt.executeUpdate(sql);

            // 执行动态SQL语句。通常通过PreparedStatement实例实现
            sql = "select * from where username=?";
            PreparedStatement pstmt = con.prepareStatement(sql);
            pstmt.setString(1, "zs");
            // 执行SQL语句
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {// 获取ResultSet中的数据
                System.out.println(rs.getString(1) + rs.getString(2)
                        + rs.getString(3));
            }
            //关闭连接
            stmt.close();
            stmt.close();
            rs.close();
            con.close();
        } catch (ClassNotFoundException e) {
            System.out.println("找不到驱动类,驱动类加载失败!");
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

利用c3p0连接池连接数据库

所需jar包

mchange-commons-0.2.jar
c3p0-0.92-pre1.jar
mysql-connector-java-5.1.28-bin.jar

配置文件

文件位置:项目src目录下
文件名称:c3p0-config.xml
配置内容:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <!-- 这是默认配置信息 -->
    <default-config>
        <!-- 连接四大参数配置 -->
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="user">root</property>
        <property name="password">root</property>
        <!-- 池参数配置 -->
        <property name="acquireIncrement">3</property>
        <property name="initialPoolSize">10</property>
        <property name="minPoolSize">2</property>
        <property name="maxPoolSize">10</property>
    </default-config>
</c3p0-config>

实现代码

public class JDBCUtil {
    /**
     * 使用默认配置文件
     */
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();

    /**
     * 使用连接池返回一个连接
     * 
     * @return返回Connection对象
     * @throws SQLException
     */
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }

    /*
     * 返回池对象
     */
    public static DataSource getDataSource() {
        return dataSource;
    }

}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值