package com.cskaoyan.JDBCDemo;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.*;
import org.junit.Test;
import javax.sql.DataSource;
import java.io.FileReader;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class ResultSetDemo {
@Test
public void testArrHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select * from user";
Object arr[] = queryRunner.query(sql,new ArrayHandler());
System.out.println(Arrays.toString(arr));
}
@Test
public void testArrListHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select * from user";
List<Object[]> arr = queryRunner.query(sql,new ArrayListHandler());
for (Object[] obj :
arr) {
System.out.println(Arrays.toString(obj));
}
}
@Test
public void testBeanHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select * from t_user";
User user = queryRunner.query(sql, new BeanHandler<>(User.class));
System.out.println(user);
}
@Test
public void tetsBeanListHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select * from user";
List<User> users = queryRunner.query(sql, new BeanListHandler<>(User.class));
for (User user :
users) {
System.out.println(user);
}
}
@Test
public void testColumListHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select username from user";
List<String> users = queryRunner.query(sql, new ColumnListHandler<String>());
for (String name :
users) {
System.out.println(name);
}
}
@Test
public void testKyeHandler() throws Exception {
QueryRunner queryRunner = new QueryRunner(getDataSource());
String sql = "select * from user";
Map<Integer, Map<String, Object>> query =
queryRunner.query(sql, new KeyedHandler<Integer>("id"));
System.out.println(query);
}
private DataSource getDataSource() throws Exception {
Properties info = new Properties();
javax.sql.DataSource dataSource = null;
FileReader reader = new FileReader("druid.properties");
info.load(reader);
dataSource = DruidDataSourceFactory.createDataSource(info);
return dataSource;
}
}