X266JavaWeb实战部分01
JavaEE3层架构模型
项目src目录分层
环境准备
Java8mysql5.5.36
初始化项目搭建步骤
连接数据库并创建表
创建Bean实体类
编写JdbcUtils工具类
在web-inf目录下创建lib目录,在项目结构里面导入jar包
在src目录下创建数据库配置文件jdbc.properties
写好代码后,在测试类里面测试连接
所有的BaseDao代码
package com.smi.dao;
import com.smi.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
public abstract class DaoBase {
private QueryRunner queryRunner = new QueryRunner();
/**
*
* @param sql
* @param args
* @return
*/
public int operatorTable(String sql,Object... args) {
Connection connection = JdbcUtils.getConnection();
try {
return queryRunner.update(connection,sql,args);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.closeConn(connection);
}
return -1;
}
/**
*
* @param type
* @param sql
* @param args
* @param <T>
* @return
*/
public <T> T inquireTable(Class<T> type,String sql,Object... args){
Connection connection = JdbcUtils.getConnection();
try {
return queryRunner.query(connection,sql,new BeanHandler<T>(type),args);
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.closeConn(connection);
}
return null;
}
/**
*
* @param type
* @param sql
* @param args
* @param <T>
* @return
*/
public <T> List<T> inquireMultTable(Class<T> type, String sql, Object... args){
Connection connection = JdbcUtils.getConnection();
try {
return queryRunner.query(connection,sql,new BeanListHandler<>(type),args);
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.closeConn(connection);
}
return null;
}
/**
*
* @param sql
* @param args
* @return
*/
public Object inquireSingleValue(String sql,Object... args) {
Connection connection = JdbcUtils.getConnection();
try {
return queryRunner.query(connection,sql,new ScalarHandler(),args);
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.closeConn(connection);
}
return null;
}
}