JDBC与它的工具类
2020-04-03 本文已影响0人
聿韦
初识JDBC
什么是JDBC?
JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。 JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类。
一张图说明JDBC核心的API与常用对象
常用api.png重点分析以下几个API
Connection:数据库连接对象
写法:
DriverManager.getConnection(String url, String user, Stringpassword)
其中 url的写法为:
jdbc:mysql://ip地址(域名):端口号/数据库名称
功能:
- 获取执行sql 的对象
Statement createStatement()
PreparedStatement prepareStatement(String sql)
- 管理事务:
开启事务:setAutoCommit(boolean autoCommit)
设置为false就得手动提交
提交事务:commit()
回滚事务:rollback()
statement用于执行sql
1.boolean execute(String sql)
可以执行任意的sql 了吗
-
int executeUpdate(String sql)
执行DML(insert、update、delete)语句、DDL(create,alter、drop)语句 可以看出影响了多少行
3.ResultSet executeQuery(String sql)
执行DQL(select)语句 返回的就是select出来的hashset
JDBC工具类
1.将建立连接的代码简化为:JDBCUtils.getconnection
2.将释放资源的代码简化为:close(Statement stmt,Connection conn)
Spring JDBC
Spring提供的重要框架
使用步骤:
1.导入jar包
2.创建jdbctemplate
对象,依赖于DataSource
直接new
3.调用jdbctemplate
完成增删改差
update()
执行DML语句。增、删、改语句
1.queryForMap()
查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合,该集合长度只能是1
2.queryForList()
查询结果将结果集封装为list集合,这个方法会将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
3.query()
查询结果,结果是JavaBean对象,query的参数是RowMapper ,可以完成数据到JavaBean的自动封装
这个参数用的是BeanPropertyRowMapper
的实现类。
new BeanPropertyRowMapper<类型>(类型.class)
4.queryForObject
查询结果,将结果封装为对象,一般用于聚合函数的查询,就是求count
的sql语句