可以根据需求删改代码,好了,话不多讲,上代码!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* @author sennhai
*/
public class BaseDAO {
private static final String DRIVER = "";
private static final String URL = "";
private static final String USER_NAME = "";
private static final String USER_PWD = "";
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
/**
* 获取数据库连接
*/
private void getConnection() {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER_NAME, USER_PWD);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 回收资源
*/
public void closeAll() {
try {
if (null != rs) {
rs.close();
}
if (null != ps) {
ps.close();
}
if (null != conn) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 执行增删改
* @param sql
* @param params
* @return
*/
public int executeNonQuery(String sql, String[] params) {
try {
this.getConnection();
ps = conn.prepareStatement(sql);
setValues(ps, params);
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll();
}
return 0;
}
/**
* 执行查询,获取数据后调用closeAll()回收资源
* @param sql
* @param params
* @return
*/
public ResultSet executeQuery(String sql, String[] params) {
try {
this.getConnection();
ps = conn.prepareStatement(sql);
setValues(ps, params);
rs = ps.executeQuery();
return rs;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 设值
* @param ps
* @param params
*/
public void setValues(PreparedStatement ps, String[] params) {
if (params != null && ps != null) {
try {
for (int i = 0; i < params.length; i++) {
ps.setString(i + 1, params[i]);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}