数据库操作框架介绍 JDBC使用介绍 DbUtils使用介绍
- 2016-01-11 22:59:00
- admin
- 原创 1694
一、数据库操作框架介绍
1、JPA,Java Persistence API,全自动ORM规范,Hibernate是一种实现;
2、Hibernate是全自动ORM框架,自动生成SQL语句,功能非常强大;
3、MyBatis是半自动ORM框架,手动编写SQL语句,使用非常灵活;
4、MyBatis由谷歌团队研发,前身是iBatis,从3.0版本开始更名;
5、DbUtils是轻量的数据库操作库,支持对象映射,使用非常简单;
二、JDBC使用介绍
1、JDBC帮助手册:https://dev.mysql.com/doc/connector-j/en/
2、API参考手册:https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html
3、Statement执行普通语句,PreparedStatement执行预编译语句,后者效率更高,且防止SQL注入;
4、mysqld重启时,Connection需要重新创建;
5、代码示例:JDBCUtils.java
Statement示例:
String sql = "select * from user where name='feinen'";
Statement stmt = con.createStatement();
return stmt.executeQuery(sql);
PreparedStatement示例:
String sql = "select * from user where name=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, "feinen");
return ps.executeQuery();
三、DbUtils使用介绍
1、官方文档:https://commons.apache.org/proper/commons-dbutils
2、支持同步查询QueryRunner,支持异步查询AsyncQueryRunner;
3、查询结果通过Handler转换为各种对象,需要通过Connection手动处理事务;
4、Handler通过RowProcessor转换为各种对象,默认实现BasicRowProcessor,可以自定义实现;
5、BasicRowProcessor使用BeanProcessor转换对象,BeanProcessor比较列名和属性时忽略大小写;
6、columnToPropertyOverrides指定映射属性,@Column(name="colname")注解get方法指定映射列;
7、StringTrimmedResultSet去除返回字符串的空白字符;
8、SqlNullCheckedResultSet结果集为空时设置默认返回值;
9、代码示例:DBUtilsApp.java,dbutildemo.zip