一、commons-dbutils-1.6.jar
1.作用:用於操作jdbc連接數據庫並且用來執行是sql語句處理返回結果集的架包
2.三個核心類
1)DbUtils:用來關閉資源的類,其中的closeQuietyl()方法關閉資源時,不需要進行異常處理
2)QueryRunner:用來查詢結果集,並且返回你想要的結果集
3)參數ResultSetHandel是接口,我們想要什麼結果集,就用它對應的實現類
eg:通過第三方架包實現數據的更新和添加
public class Demo01{
publc static void main(String [] args) throws SQLException{
update();
}
private static void update() throws SQLException{
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "update sort set sname =?"+",sprice=?,sdesc=? where sid=5";
Object[] params = {"咖啡",10000,"java裏的咖啡"};
int row = qr.update(connection,sql,params)
int row = qr.update(connection,sql,"咖啡",10000,"java裏的咖啡");
if(row>0){
System.out.println("修改成功");
}
DbUtils.closeQuietly(connection);
}
private static void insert() throws SQLException{
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();Connection connection = JDBCUtil.getConnection();
String sql = "insert into sort values (null,'20k顯示器',5,'這時一臺播放家教的顯示器')";
int row = qr.update(connection, sql);
System.out.println(row);
if(row>0) {
System.out.println("顯示成功");
}
DbUtils.closeQuietly(connection);
}
}
public class Demo02 {
@Test
public void select1() throws SQLException {
QueryRunner qr =new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "Select * from sort";
Object[] rel = qr.query( connection,sql, new ArrayHandler());
for (Object object : rel) {
System.out.println(object);
}
DbUtils.closeQuietly(connection);
}
@Test
public void select2() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "select * from sort";
List<Object[]> query = qr.query(connection, sql, new ArrayListHandler());
for (Object[] objects : query) {
for (Object object : objects) {
System.out.println(object);
}
System.out.println();
}
DbUtils.closeQuietly(connection);
}
@Test
public void select3() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "select * from sort";
Sort sort = qr.query(connection, sql, new BeanHandler<>(Sort.class));
System.out.println(sort);
if(sort==null) {
System.out.println("沒有該條數據");
}
DbUtils.closeQuietly(connection);
}
@Test
public void select4() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "select * from sort";
List<Sort> list = qr.query(connection, sql, new BeanListHandler<>(Sort.class));
for (Sort sort : list) {
System.out.println(sort);
}
DbUtils.closeQuietly(connection);
}
@Test
public void select5() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql = "select * from sort";
List<Object> query = qr.query(connection, sql, new ColumnListHandler<>("sname"));
for (Object object : query) {
System.out.println(object);
}
DbUtils.closeQuietly(connection);
}
@Test
public void select6() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql ="select avg(sid) from sort";
BigDecimal query = qr.query(connection, sql,new ScalarHandler<BigDecimal>());
System.out.println(query);
DbUtils.closeQuietly(connection);
}
@Test
public void select7() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql= "select * from sort";
Map<String, Object> map = qr.query(connection, sql, new MapHandler());
for (String key : map.keySet()) {
System.out.println(key + " " + map.get(key));
}
DbUtils.closeQuietly(connection);
}
@Test
public void select8() throws SQLException {
QueryRunner qr = new QueryRunner();
Connection connection = JDBCUtil.getConnection();
String sql= "select * from sort";
List<Map<String, Object>> query = qr.query(connection, sql, new MapListHandler());
for (Map<String, Object> map : query) {
for (String key : map.keySet()) {
System.out.println(key + " "+ map.get(key));
}
}
DbUtils.closeQuietly(connection);
}
}
3.數據源
public class DataSourceUtil {
private static BasicDataSource dataSource = new BasicDataSource();
static {
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/myjdbc");
dataSource.setUsername("root");
dataSource.setPassword("123456");
dataSource.setInitialSize(10);
dataSource.setMaxActive(8);
dataSource.setMaxIdle(5);
dataSource.setMinIdle(2);
}
public static DataSource getDataSource() {
return dataSource;
}
}