JDBC全称是Java数据库连接(Java DataBase Connectivity),它是一套用于执行SQL语句的JavaAPI。应用程序可以通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、更新、新增和删除的操作。

1.导入jar包

下载地址

2.创建数据库配置文件

在项目src目录下创建db.properties文件

#db.properties
# MySQL8.0+请使用com.mysql.cj.jdbc.Driver
Driver=com.mysql.jdbc.Driver
# 127.0.0.1可以省略
url=jdbc:mysql://127.0.0.1/database
username=root
password=root

3.编写JDBCUtil.java文件

  1. 配置静态字段
//配置静态字段
private static String driver;
private static String url;
private static String username;
private static String password;

//连接池对象
private static Connection con; //数据库连接对象
private static PreparedStatement pst; //数据库执行对象
private static ResultSet rst; //返回结果集
  1. 加载数据库驱动
static { //创建静态代码块
        //创建配置文件数据流
        InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties");
        //创建配置文件对象
        Properties ps = new Properties();
        try { //加载配置文件数据流
            ps.load(is);
            driver = ps.getProperty("Driver");
            url = ps.getProperty("url");
            username = ps.getProperty("username");
            password = ps.getProperty("password");
        } catch (IOException e) {
            e.printStackTrace();
        }
        try { //加载驱动
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
  1. 创建获取连接的方法
//获取数据库连接
private static Connection getConnection(String driver,String username,String password) throws SQLException {
    return DriverManager.getConnection(driver,username,password);
}
  1. 创建增删改的方法
//执行增删改操作
public static boolean executeUpdate(String sql,Object...obj) throws SQLException {
    // String sql = "select * from stu where name=? and age=?"; sql语句示例,‘?’为参数
    boolean flag;
    con=getConnection(driver,username,password); //获取数据库连接
    pst = con.prepareStatement(sql); //SQL执行对象
    if(obj.length>0){ //设置sql执行语句中参数
    for (int i = 0; i < obj.length; i++) {
            pst.setObject(i+1,obj[i]);
        }
     }
     flag=pst.executeUpdate()>0;
     con.close(); //关闭数据库连接
     pst.close(); //关闭SQL执行对象
     return flag;
}
  1. 创建查询的方法
//执行查询操作
public static ResultSet executeQuery(String sql,Object...obj) throws SQLException {
// String sql = "insert stu(name,age) values(?,?)"; sql语句示例,‘?’为参数
con=getConnection(driver,username,password); //获取数据库连接
pst = con.prepareStatement(sql); //SQL执行对象
    if(obj.length>0){ //设置sql执行语句中参数
        for (int i = 0; i < obj.length; i++) {
            pst.setObject(i+1,obj[i]);
        }
    }
    rst = pst.executeQuery();
    return rst;
}
  1. 创建释放的方法
//释放连接资源
private static void close(Connection con,PreparedStatement pst){
    if(con!=null) {
        try {
            con.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
    if(pst!=null) {
        try {
            pst.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
关于JDBC的进阶使用方法:Druid 数据库连接池 简化JDBC
最后修改:2022 年 05 月 08 日
如果觉得我的文章对你有用,请随意赞赏