package com.zfsoft.setup.intl.commons.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.ArrayList;
public abstract class HsqlBaseDao<T extends Object> {
/**
* select a,b,c,from table where username='hao' limit 0,20
*
* @param sql
* @param para
* @param rsObjCall
* @return
*/
protected List<T> executeQueryList(String sql, String[] para,
ResultObjectCall<T> rsObjCall) {
List<T> list = new ArrayList<T>();
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
while (rs.next()) {
list.add(rsObjCall.getResultObject(rs));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm,null, rs);
}
return list;
}
/**
* select a,b,c from table where id=25
*
* @param sql
* @param para
* @param objCall
* @return
*/
protected T executeQuery(String sql, String[] para,
ResultObjectCall<T> objCall) {
T t = null;
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
if (rs.next()) {
t = objCall.getResultObject(rs);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm,null, rs);
}
return t;
}
/**
* select count(id) from table where id=? select a from table where id=?
*
* @param sql
* @param para
* @return
*/
protected Object getColumn(String sql, String[] para) {
Object obj = null;
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
if (rs.next()) {
obj = rs.getObject(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm, null,rs);
}
return obj;
}
/**
* update table set col=? where id=?
*
* @param sql
* @param para
* @throws SQLException
*/
protected void executeUpdate(String sql) {
Connection conn = null;
Statement st = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
st = conn.createStatement();
st.addBatch(sql);
st.addBatch("SHUTDOWN");
st.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, null,st,null);
}
}
/**
* insert into diary(userid,username,title,content)values(?,?,?,?)
*
* @param sql
* @param para
* @return
* @throws SQLException
*/
protected void executeInsert(String sql) {
Connection conn = null;
Statement st = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
st = conn.createStatement();
st.addBatch(sql);
st.addBatch("SHUTDOWN");
st.executeBatch();
} catch (Exception e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, null, st, null);
}
}
/**
* destoryResource
*
* @param conn
* @param pstm
* @param rs
*/
private void destoryResource(Connection conn,PreparedStatement pstm,Statement st,
ResultSet rs) {
try {
if (pstm != null)
pstm.close();
if (rs != null)
rs.close();
if (st != null)
st.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import java.util.ArrayList;
public abstract class HsqlBaseDao<T extends Object> {
/**
* select a,b,c,from table where username='hao' limit 0,20
*
* @param sql
* @param para
* @param rsObjCall
* @return
*/
protected List<T> executeQueryList(String sql, String[] para,
ResultObjectCall<T> rsObjCall) {
List<T> list = new ArrayList<T>();
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
while (rs.next()) {
list.add(rsObjCall.getResultObject(rs));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm,null, rs);
}
return list;
}
/**
* select a,b,c from table where id=25
*
* @param sql
* @param para
* @param objCall
* @return
*/
protected T executeQuery(String sql, String[] para,
ResultObjectCall<T> objCall) {
T t = null;
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
if (rs.next()) {
t = objCall.getResultObject(rs);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm,null, rs);
}
return t;
}
/**
* select count(id) from table where id=? select a from table where id=?
*
* @param sql
* @param para
* @return
*/
protected Object getColumn(String sql, String[] para) {
Object obj = null;
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
pstm = conn.prepareStatement(sql);
if (para != null) {
for (int i = 0; i < para.length; i++) {
if (para[i] == null)
para[i] = "";
pstm.setObject(i + 1, para[i]);
}
}
rs = pstm.executeQuery();
if (rs.next()) {
obj = rs.getObject(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, pstm, null,rs);
}
return obj;
}
/**
* update table set col=? where id=?
*
* @param sql
* @param para
* @throws SQLException
*/
protected void executeUpdate(String sql) {
Connection conn = null;
Statement st = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
st = conn.createStatement();
st.addBatch(sql);
st.addBatch("SHUTDOWN");
st.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, null,st,null);
}
}
/**
* insert into diary(userid,username,title,content)values(?,?,?,?)
*
* @param sql
* @param para
* @return
* @throws SQLException
*/
protected void executeInsert(String sql) {
Connection conn = null;
Statement st = null;
try {
conn = HsqlConnectionFactory.getConnectionDB();
st = conn.createStatement();
st.addBatch(sql);
st.addBatch("SHUTDOWN");
st.executeBatch();
} catch (Exception e) {
e.printStackTrace();
} finally {
this.destoryResource(conn, null, st, null);
}
}
/**
* destoryResource
*
* @param conn
* @param pstm
* @param rs
*/
private void destoryResource(Connection conn,PreparedStatement pstm,Statement st,
ResultSet rs) {
try {
if (pstm != null)
pstm.close();
if (rs != null)
rs.close();
if (st != null)
st.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
}