JDBC与DBUtils

JDBC
JDBC:Java DataBase Connectivity Java数据库的连接。是SUN公司统一提供的一套接口规范(JDBC).各个数据库生产商提供实现。Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。驱动:两个硬件设备之间通信的桥梁。
JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。

JDBC操作数据库的步骤
注册驱动
Class.forName(“com.mysql.jdbc.Driver”);
告知JVM使用的是哪一个数据库的驱动
获得连接
Connection con = DriverManager.getConnection(url, username, password);
使用JDBC中的类,完成对MySQL数据库的连接
获得语句执行平台
普通的处理: Statement stat = con.createStatement();
预处理对象
String sql = “SELECT * FROM users WHERE username=? AND PASSWORD=?”;
PreparedStatement pstat = conn.prepareStatement(sql)
通过连接对象获取对SQL语句的执行者对象
执行sql语句
int row = stat.executeUpdate(sql);
ResultSet rs = stat.executeQuery(sql);
使用执行者对象,向数据库执行SQL语句
获取到数据库的执行后的结果
处理结果
释放资源 一堆close()
JDBC操作数据库的常用对象
Connection
创建执行SQL的对象
Statement createStatement()
PreparedStatement prepareStatement(String sql)
CallableStatement prepareCall(String sql) 创建一个CallableStatement对象来调用数据库存储过程
进行事务管理
void setAutoCommit(boolean bl)
void commit()
void rollback()

PreparedStatement
String sql = “SELECT * FROM users WHERE username=? AND PASSWORD=?”;
PreparedStatement pstat = conn.prepareStatement(sql)
执行SQL语句:
int executeUpdate(); –执行insert update delete语句.
ResultSet executeQuery(); –执行select语句.
boolean execute(); –执行select返回true 执行其他的语句返回false.
设置实际参数
void setXxx(int index, Xxx xx) 将指定参数设置为给定Java的xx值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL Xxx类型值。

Statement
执行sql语句
ResultSet executeQuery(String sql)
int executeUpdate(String sql)
批处理执行
void addBatch(String sql) 将给定的SQL命令添加到此Statement对象的当前命令列表中
void clearBatch() 清空此Statement对象的当前命令列表
int[] executeBatch() 将一批命令提交给数据库执行,如果全部成功,则返回更新计数组成的数组

DBUtils
properties配置文件
开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。
通常情况下,我们习惯使用properties文件,此文件我们将做如下要求:

  1. 文件位置:任意,建议src下
  2. 文件名称:任意,扩展名为properties
  3. 文件内容:一行一组数据,格式是“key=value”.
    a) key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver
    b) value值不支持中文,如果需要使用非英文字符,将进行unicode转换。

DBUtils
DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具。DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

Dbutils三个核心功能介绍
QueryRunner中提供对sql语句操作的API.
ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

QueryRunner
update(Connection conn, String sql, Object… params) ,用来完成表数据的增加、删除、更新操作
query(Connection conn, String sql, ResultSetHandler rsh, Object… params) ,用来完成表数据的查询操作

ResultSetHandler结果集处理类
ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。
BeanListHandler 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
ColumnListHandler 将结果集中指定的列的字段值,封装到一个List集合中
ScalarHandler 它是用于单数据。例如select count(*) from 表操作。
MapHandler 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
MapListHandler 将结果集第(每)一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合


作者:smlxs_lbb
来源:CSDN
原文:https://blog.csdn.net/smlxs_lbb/article/details/79547811
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值