总结jdbc,dbutils

Class.forName()加载数据库连接驱动。

DriverManager.getConnection()获取数据连接对象。

根据SQL语句获取会话对象,会话对象一般用PreparedStatement类型,
conn.prepareStatement(),注意方法名和类名不一样哟。

执行SQL处理结果集,执行SQL前如果有参数值就设置参数值setXXX()。

关闭结果集、关闭会话、关闭连接。

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() 将一批命令提交给数据库执行,如果全部成功,则返回更新计数组成的数组

开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。 
通常情况下,我们习惯使用properties文件,此文件我们将做如下要求: 
1. 文件位置:任意,建议src下 
2. 文件名称:任意,扩展名为properties 
3. 文件内容:一行一组数据,格式是“key=value”. 
a) key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver 
b) value值不支持中文,如果需要使用非英文字符,将进行unicode转换。

DbUtils结构
  DbUtils
  JDBC Helper 方法的集合,线程安全。

  控制事务,数据库连接,驱动加载等。

  构造函数: public DbUtils()

  QueryRunner
  使用插拔策略执行SQL查询,线程安全。

  构造函数:

QueryRunner()
QueryRunner(boolean pmdKnownBroken)
QueryRunner(DataSource ds)
QueryRunner(DataSource ds,boolean pmdKnownBroken)
  QueryRunner核心:

update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
  ResultSetHandler<T>接口
  这个接口的实现类,转换查询结果为对象。

  主要实现类:

ArrayHandler:结果集第一行放入Object[]数组中,数组中的元素依次是各个字段的值
ArrayListHandler:结果集每一行放入Object[]数组中,数组中的元素依次是各个字段的值。并将Object[]封装到一个集合List中。
BeanHandler:将结果集中的第一行放入指定的JavaBean对象中。
BeanListHandler:将结果集中的每一行放入指定的JavaBean对象中,并将这些对象封装到List中。
ColumnListHandler:将结果集中指定字段的值封装到一个List中
ScalarHandler:用于但数据处理,如avg,sum,count等
MapHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
MapListHandler:将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值