虛擬化技術之kvm磁碟管理工具qemu-img
DBUtils
簡化JDBC
Dbutils三個核心功能介紹
l QueryRunner中提供對sql語句操作的API.
l ResultSetHandler介面,用於定義select操作後,怎樣封裝結果集.
l DbUtils類,它就是一個工具類,定義了關閉資源與事務處理的方法
1.1 QueryRunner核心類
l update(Connection conn, String sql, Object... params) ,用來完成表資料的增加、刪除、更新操作
l query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用來完成表資料的查詢操作
1.1.1 ResultSetHandler結果集處理類
ArrayHandler |
將結果集中的第一條記錄封裝到一個Object[]陣列中,陣列中的每一個元素就是這條記錄中的每一個欄位的值 |
ArrayListHandler |
將結果集中的每一條記錄都封裝到一個Object[]陣列中,將這些陣列在封裝到List集合中。 |
BeanHandler |
將結果集中第一條記錄封裝到一個指定的javaBean中。 |
BeanListHandler |
將結果集中每一條記錄封裝到指定的javaBean中,將這些javaBean在封裝到List集合中 |
ColumnListHandler |
將結果集中指定的列的欄位值,封裝到一個List集合中 |
ScalarHandler |
它是用於單資料。例如select count(*) from 表操作。 |
MapHandler |
將結果集第一行封裝到Map<String,Object>集合中,Key 列名, Value 該列資料 |
MapListHandler |
將結果集每一行封裝到List<Map<String,Object>>集合中,Key 列名, Value 該列資料,Map集合儲存到List集合 |
//增加資料 public int zengjia(User user){ QueryRunner rq=new QueryRunner(MyDBCUtils.getDataSource()); String sql="insert into user(pname,pwd) values(?,?)"; int row=qr.update(sql,user.getPname,user.getPwd); return row; } //刪除資料 public int shanchu(User user){ QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource()); String sql="delete from sort where sid=?"; int row=qr.update(sql,user.getSid); return row; } //查詢資料常用的四種 //查詢一行 public Sort chaxun1(int sid){ QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource()); String sql="select * from user where sid=?"; Sort sort=qr.query(sql,new BeanHandler<Sort>(Sort.class),sid); return sort; } //將結果集中每一條記錄封裝到指定的javaBean中,將這些javaBean在封裝到List集合中 public List<Sort> chaxun2(){ QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource()); String sql="select * from user"; List<Sort> list=qr.query(sql,new BeanListHandler<Sort>(Sort.class)); return list; } //查詢一列,封裝到集合中 public List<Sort> chaxun3(){ QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource()); String sql="select sname from user"; List<Sort> list=qr.query(sql,new ColumListHandler<Sort>()); return list; } //查詢count(*) public int chaxun4(){ QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource()); String sql="select count(*) from user"; Long rs=qr.query(sql,new ScalarHandler<Long>()); int row=rs.intValue(); return row; }
連線池
1.1.1 常見配置項
分類 |
屬性 |
描述 |
必須項 |
driverClassName |
資料庫驅動名稱 |
url |
資料庫的地址 |
|
username |
使用者名稱 |
|
password |
密碼 |
|
基本項(擴充套件) |
maxActive |
最大連線數量 |
minIdle |
最小空閒連線 |
|
maxIdle |
最大空閒連線 |
|
initialSize |
初始化連線 |