Object-Relation Mapping 对象关系映射(对象关系模型)
常用的 O-R Mapping 工具有:
Hibernate
Session session = new Session();
session.save(user)
ibatis
sql 语句要自己写
DBUtils
简单的工具
commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装
DBUtils 核心API
org.apache.commons.dbutils.QueryRunner
提供update(cud)和query(r)方法
org.apache.commons.dbutils.ResultSetHandler
结果集处理器,接口类型
org.apache.commons.dbutils.DbUtils
工具类,提供一系列close方法,装载驱动等
API详解
1. QueryRunner
重载的构造函数
public QueryRunner()
调用无参的构造方法,在进行 crud 操作时需要传入 Connection 对象,一般用于事务
public QueryRunner(DataSource ds)
创建对象时传入 数据源 多数情况下采用此构造函数
2. ResultSetHandler
该接口为结果集处理器,所以对结果集进行处理的程序都需要实现该接口
DBUtils框架提供了一系列常用的结果集处理器实现类
l ArrayHandler:把结果集中的第一行数据转成对象数组。
l ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
l BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
l BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
l ColumnListHandler:将结果集中某一列的数据存放到List中。
l KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key。
l MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
l MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
三、 JDBC 操作多表
多表的关系三种:
1. many2one
典型应用 部门和员工
2. mamy2many
典型应用 老师和学生
3. one2one
典型应用 用户和住址