一、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;
}
}