如何使用JDBC连接数据库、操作数据库

前言

本文将会用IntelliJ IDEA演示如何使用JDBC技术连接并操作数据库,可以当作模板使用。

使用步骤

1.下载Jar包

访问Maven官网下载,这里使用mysql-connector-java8.0.19为例,点击右边跳转下载
在这里插入图片描述

2.导入Jar包

据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.使用JDBC修改数据库的内容

这里演示将db1数据库中user表中id=1的age从10改为20
在这里插入图片描述

执行代码前的数据库情况
在这里插入图片描述跑一下项目看结果

在这里插入图片描述

执行代码后的数据库情况
在这里插入图片描述

代码如下(自取修改):

public class JDBCDemo1 {
public static void main(String[] args) throws Exception{
    //1.注册驱动(反射的方式)
    Class.forName("com.mysql.cj.jdbc.Driver");
    //2.获取数据库连接
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?serverTimezone=UTC","root","root");
    //3.创建执行sql的对象
    Statement stmt= conn.createStatement();
    //4.定义sql语句
    String sql="update user set age=20 where id=1";
    //5.执行sql
    int index = stmt.executeUpdate(sql);
    //6.处理获取
    System.out.println(index);
    //7.释放资源(先开后关)
    stmt.close();;
    conn.close();
}

}
考虑异常处理的最终版

public class JDBCDemo1 {
    public static void main(String[] args)  {
        Connection conn = null;
        Statement stmt = null;
        try {
            //1.注册驱动(反射的方式)
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.获取数据库连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?serverTimezone=UTC","root","root");
            //3.创建执行sql的对象
            stmt = conn.createStatement();
            //4.定义sql语句
            String sql="update user set age=20 where id=1";
            //5.执行sql
            int rs = stmt.executeUpdate(sql);
            //6.处理获取.遍历结果集,并获取查询结果
            System.out.println(rs);
        }catch(Exception e) {
            e.printStackTrace();
        }finally {
            //7.释放资源(先开后关)
            if(stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally {
                    stmt = null;
                }
            }
            if(conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }finally {
                    conn = null;
                }
            }
        }
    }
}

4.思考

用JDBC对数据库进行操作就得经过上面一系列的操作:
1.注册驱动
2.获取数据库连接
3.创建执行sql的对象
4.定义sql语句
5.执行sql
6.处理获取
7.释放资源(先开后关)

这样会造成什么问题?

1.数据库连接创建、释放十分频繁,造成资源浪费从而影响系统性能。
解决办法:使用数据库链接池就能解决。改进方法

2.需求发生改变的时候需要修改SQL语句就得改代码,不易维护。
解决办法:让SQL可以动态的发生改变

那有什么办法可以一口气解决JDBC上面两个问题的?
答:使用Mybatis框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值