/**
* 用来完成操作数据库集合操作的类
* 封装了连接数据库、执行语句、查询结果、关闭数据库完整的操作方法
* @author 15196
*
*/
public class CompleteOpe {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
public CompleteOpe(Connection conn, PreparedStatement ps, ResultSet rs) {
this.conn = conn;
this.ps = ps;
this.rs = rs;
}
/**
* 对外开放的方法,采用策略模式,先初始化conn、ps、rs然后通过doresult执行查询结果操作,最后关闭数据库
* 通过sql、PsSet、DoResult实现不同业务的不同功能
* @param sql
* @param psSet
* @param doResult
* @return
*/
public boolean completeOpe(String sql,PsSet psSet,DoResult doResult){
initConnect(sql,psSet);
doResult.doResult(ps);
closeConnect();
return true;
}
private boolean initConnect(String sql,PsSet psSet){
conn = DBUtils.openConn();
try {
ps = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
return false;
}
try{
psSet.initPs(ps);
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}
private boolean closeConnect(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return true;
}
public static interface PsSet{
void initPs(PreparedStatement ps) throws Exception;
}
public static interface DoResult{
void doResult(PreparedStatement ps);
}
}
* 用来完成操作数据库集合操作的类
* 封装了连接数据库、执行语句、查询结果、关闭数据库完整的操作方法
* @author 15196
*
*/
public class CompleteOpe {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
public CompleteOpe(Connection conn, PreparedStatement ps, ResultSet rs) {
this.conn = conn;
this.ps = ps;
this.rs = rs;
}
/**
* 对外开放的方法,采用策略模式,先初始化conn、ps、rs然后通过doresult执行查询结果操作,最后关闭数据库
* 通过sql、PsSet、DoResult实现不同业务的不同功能
* @param sql
* @param psSet
* @param doResult
* @return
*/
public boolean completeOpe(String sql,PsSet psSet,DoResult doResult){
initConnect(sql,psSet);
doResult.doResult(ps);
closeConnect();
return true;
}
private boolean initConnect(String sql,PsSet psSet){
conn = DBUtils.openConn();
try {
ps = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
return false;
}
try{
psSet.initPs(ps);
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}
private boolean closeConnect(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return true;
}
public static interface PsSet{
void initPs(PreparedStatement ps) throws Exception;
}
public static interface DoResult{
void doResult(PreparedStatement ps);
}
}