java使用之JDBC

本文介绍了JDBC(Java Database Connectivity)的基本概念,包括其核心API和使用步骤。JDBC是Sun公司提供的一套用于Java应用程序连接数据库的标准接口,通过加载不同的数据库驱动程序,可以操作各种关系型数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是JDBC?

  • JDBC全称Java Database Connectivity,由sun公司提供的接口规范,操作所有关系型数据库的规则(接口)。
  • JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。
  • 核心API:
  • DriverManager 类1) 管理和注册数据库驱动
    2) 得到数据库连接对象
    Connection 接口一个连接对象,可用于创建 Statement 和 PreparedStatement 对象
    Statement 接口一个 SQL 语句对象,用于将 SQL 语句发送给数据库服务器。
    PreparedStatemen 接口一个 SQL 语句对象,是 Statement 的子接口
    ResultSet 接口用于封装数据库查询的结果集,返回给客户端 Java 程序

JDBC使用步骤?

  • 1.在对应的数据库厂商网站获取对应的jar包

         输入orcal账号后,https://dev.mysql.com/downloads/file/?id=498587下载,最新的版本为mysql-connector-java-8.0.22。或在https://blog.youkuaiyun.com/weixin_41804049/article/details/87719574上下载。

  • 2.将对应的jar包添加到引用。

在idea下,工程名右击 -> 新建 -> 目录,新建一个lib的文件夹,将mysql-connector-java-8.0.22.jar复制到此文件夹下。在lib右击,选择 add as library.

或者直接复制mysql-connector-java-8.0.22.jar到D:\tomcat\apache-tomcat-9.0.40\lib路径下,这样由tomocat加载

  • 3.加载并注册驱动,只有一句Class.forName(“com.mysql.jdbc.Driver”);//,Driver接口中已经实现注册数据库驱动,并且从jdbc3开始,这句话也是可省的
  • 4、获取连接,使用格式:详见

                    DriverManager.getConnection(url,username,password);

                       其中:username和password是登录数据库的用户名和密码

                                   url:格式如下图:

还可以在url中提供参数:
jdbc:mysql://localhost:3306/mydb1?useUnicode=true&characterEncoding=UTF8

  • useUnicode:参数指定这个连接数据库的过程中,使用的字节集是Unicode字节集

  • characherEncoding:参数指定穿上连接数据库的过程中,使用的字节集编码为UTF-8编码。请注意,mysql中指定UTF-8编码是给出的是UTF8,而不是UTF-8,要小心了

5、使用 Statement 对象执行SQL语句

先获取Statement 对象:Statement stmt = con.createStatement();//con:为连接的数据库对象

Statement 两个方法:

如:发送SQL增、删、改语句

String sql = “insert into user value(’zhangSan’, ’123’)”;
int m = stmt.executeUpdate(sql);

发送SQL查询语句

String sql = “select * from user”;
ResultSet rs = stmt.executeQuery(sql);

注:executeQuery()方法返回的是ResultSet,ResultSet封装了查询结果,也就是结果集。

  读取结果集中的数据:ResultSet中两个方法,详见API文档

ResultSet就是一张二维的表格,它内部有一个“行光标”,光标默认的位置在“第一行上方”,我们可以调用rs对象的next()方法把“行光标”向下移动一行,当第一次调用next()方法时,“行光标”就到了第一行记录的位置,这时就可以使用ResultSet提供的getXXX(int col)方法来获取指定列的数据了:

rs.next();//光标移动到第一行
rs.getInt(1);//获取第一行第一列的数据

  当你使用rs.getInt(1)方法时,你必须可以肯定第1列的数据类型就是int类型,如果你不能肯定,那么最好使用rs.getObject(1)。      

6、释放资源。原则:先开的后关,后开的先关。

  • 注意:关闭之前需要留心检查是否为null
rs.close();
stmt.close();
con.close();

抽取jdbc的工具类:简化书写,如果一个功能经常用到,就把这个功能做成一个工具类,可以在不同地方重用。

           1、抽取注册驱动 

            2、抽取一个方法来获取连接对象

            3、抽取一个方法释放资源

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值