JavaWeb初体验(一、连接数据库)

目录

一.通过JDBC连接数据库的简单方式

1.导入相关的jar包(jar包资源请访问Maven Repository: Search/Browse/Explore)

2.连接到数据库

(1)注册驱动

(2)配置连接信息

(3)根据配置信息连接数据库

(4)测试是否连接成功

(5)断开连接,释放资源

  完整代码

二、通过连接缓冲池连接数据库的简单方式(这里选择C3p0进行演示)

        1.导入相关jar包

        2.连接数据库       

  (1)注册驱动

  (2)连接数据库

  (3)设置其他参数,这里不深入... ...

    完整代码

三、结语


一.通过JDBC连接数据库的简单方式

        #每次访问数据库都要重新连接

步骤:(以Mysql数据库为例)

1.导入相关的jar包(jar包资源请访问Maven Repository: Search/Browse/Explore

        我这里导入的是 mysql-connector-j-9.0.0.jar ,具体该导入哪个版本的jar包请根据Mysql版本自行测试。(注意:导入完成后不要忘记加载到磁盘中

2.连接到数据库

        (1)注册驱动
Driver driver = new Driver(); // 1.注册驱动,这里不要搞错了。java自带一个Driver接口,我们使用的是com.mysql.cj.jdbc.Driver类,以前的jdbc版本使用的是com.mysql.jdbc.Driver类。
        (2)配置连接信息
String url = "jdbc:mysql://localhost:3306/db03";//存放你想连接的数据库地址
Properties info = new Properties();
info.put("user", "root");
info.put("password", "root");
        (3)根据配置信息连接数据库
Connection conn = driver.connect(url, info);
        (4)测试是否连接成功
String sql = "insert into student values(2,'李四')";//这里我已经在Mysql中创建好了测试表
//String sql = "delete from student where id=2";
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate(sql); //执行sql语句并返回结果
System.out.println(rows > 0 ? "成功" : "失败");
         (5)断开连接,释放资源
stmt.close();
conn.close();
           *完整代码
import com.mysql.cj.jdbc.Driver;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author 君禾
 * @version 1.0
 */
public class Jdbc_test {
    public static void main(String[] args) throws SQLException {
        // 1.注册驱动
        Driver driver = new Driver();
        // 2.连接
        String url = "jdbc:mysql://localhost:3306/db03";
        Properties info = new Properties();
        info.put("user", "root");
        info.put("password", "root");
        Connection conn = driver.connect(url, info);
        // 3.操作数据库
        String sql = "insert into student values(2,'李四')";
        //String sql = "delete from student where id=2";
        Statement stmt = conn.createStatement();
        int rows = stmt.executeUpdate(sql);
        System.out.println(rows > 0 ? "成功" : "失败");
        // 4. 释放连接
        stmt.close();
        conn.close();
    }
}

二、通过连接缓冲池连接数据库的简单方式(这里选择C3p0进行演示)

        1.导入相关jar包

                        除 mysql-connector-j-9.0.0.jar外还要导入 c3p0-0.9.5.5.jar、commons-dbutils-1.7.jar、mchange-commons-java-0.2.20.jar 等jar包。(具体需要导入什么版本的jar包请根据自己的工具版本自行配置)

        2.连接数据库       

                (1)注册驱动

comboPooledDataSource.setDriverClass("com.mysql.cj.jdbc.Driver");

                 (2)连接数据库

comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/db03");
comboPooledDataSource.setUser("root");
comboPooledDataSource.setPassword("root");

                 (3)设置其他参数,这里不深入... ...

                    *完整代码

import org.junit.jupiter.api.Test;

import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;

/**
 * @author 君禾
 * @version 1.0
 */
public class TestC3p0 {

    @Test
    public static void main(String[] args) throws Exception {

        //1.
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();

        //2.
        comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/db03");
        comboPooledDataSource.setUser("root");
        comboPooledDataSource.setPassword("root");

        //3.
        comboPooledDataSource.setDriverClass(driver);
        comboPooledDataSource.setJdbcUrl(url);
        comboPooledDataSource.setUser(user);
        comboPooledDataSource.setPassword(password);

        //测试代码
        System.out.println("开始连接");
        long start = System.currentTimeMillis();
        for (int i = 0; i < 5000; i++) {
            Connection connection = comboPooledDataSource.getConnection();
            connection.close();
        }
        long end = System.currentTimeMillis();
        System.out.println(end - start);
    }

三、结语

        以上都是非常简单的连接方式,实际上可以同过某些配置文件(比如C3p0.xml)来简化代码,这里不做深入了解。感兴趣的请自行搜索。不会使用 Maven Repository 请看我另一篇博客(传送门:Java中相关jar包的下载-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值