15-DBUtils
一、O-R Mapping
Object-Relation Mapping? 對(duì)象關(guān)系映射(對(duì)象關(guān)系模型)
?
常用的 O-R Mapping 工具有:
Hibernate
Session session = new Session();
session.save(user)?
ibatis
sql 語(yǔ)句要自己寫(xiě)
?
DBUtils
簡(jiǎn)單的工具
二、 DBUtils 框架
commons-dbutils 是 Apache 組織提供的一個(gè)開(kāi)源 JDBC工具類(lèi)庫(kù),它是對(duì)JDBC的簡(jiǎn)單封裝
?
DBUtils 核心API
org.apache.commons.dbutils.QueryRunner
提供update(cud)和query(r)方法
org.apache.commons.dbutils.ResultSetHandler
結(jié)果集處理器,接口類(lèi)型
org.apache.commons.dbutils.DbUtils??
工具類(lèi),提供一系列close方法,裝載驅(qū)動(dòng)等
?
API詳解
1. QueryRunner
重載的構(gòu)造函數(shù)
public QueryRunner()
調(diào)用無(wú)參的構(gòu)造方法,在進(jìn)行 crud 操作時(shí)需要傳入 Connection 對(duì)象,一般用于事務(wù)
public QueryRunner(DataSource?ds)
創(chuàng)建對(duì)象時(shí)傳入 數(shù)據(jù)源? 多數(shù)情況下采用此構(gòu)造函數(shù)
?
2. ResultSetHandler
該接口為結(jié)果集處理器,所以對(duì)結(jié)果集進(jìn)行處理的程序都需要實(shí)現(xiàn)該接口
DBUtils框架提供了一系列常用的結(jié)果集處理器實(shí)現(xiàn)類(lèi)
l? ArrayHandler:把結(jié)果集中的第一行數(shù)據(jù)轉(zhuǎn)成對(duì)象數(shù)組。
l? ArrayListHandler:把結(jié)果集中的每一行數(shù)據(jù)都轉(zhuǎn)成一個(gè)數(shù)組,再存放到List中。
l? BeanHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個(gè)對(duì)應(yīng)的JavaBean實(shí)例中。
l? BeanListHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)對(duì)應(yīng)的JavaBean實(shí)例中,存放到List里。
l? ColumnListHandler:將結(jié)果集中某一列的數(shù)據(jù)存放到List中。
l? KeyedHandler(name):將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)Map里,再把這些map再存到一個(gè)map里,其key為指定的key。
l? MapHandler:將結(jié)果集中的第一行數(shù)據(jù)封裝到一個(gè)Map里,key是列名,value就是對(duì)應(yīng)的值。
l? MapListHandler:將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)Map里,然后再存放到List
?
三、 JDBC 操作多表
多表的關(guān)系三種:
1. many2one
??? 典型應(yīng)用 部門(mén)和員工
2. mamy2many
??? 典型應(yīng)用 老師和學(xué)生
3. one2one
??? 典型應(yīng)用? 用戶(hù)和住址
?
?
?
總結(jié)
以上是生活随笔為你收集整理的15-DBUtils的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三种情况可能导致普京动用核武器
- 下一篇: 16-自定义标签