数据库操作封装JavaBean
在使用Hibernate之前常常使用这个JavaBean,类似于Net中的sqlHelper。
package beans;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
/**
* 取得一个数据库连接
* @return
* @throws SQLException
* @throws InstantiationException
* @throws IllegalAccessException
* @throws ClassNotFoundException
*/
public Connection getConnection() throws SQLException,
InstantiationException, IllegalAccessException,
ClassNotFoundException {
Connection conn = null;
//加载数据库驱动类
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
//数据库连接URL
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//数据库用户名
String user = "sa";
//数据库密码
String password = "1985315";
//根据数据库参数取得一个数据库连接
conn = DriverManager.getConnection(url, user, password);
return conn;
}
/**
* 根据传入的SQL语句返回一个结果集
* @param sql
* @return
* @throws Exception
*/
public ResultSet select(String sql) throws Exception {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
return rs;
} catch (SQLException sqle) {
throw new SQLException("select data exception: "
+ sqle.getMessage());
} catch (Exception e) {
throw new Exception("System e exception: " + e.getMessage());
}
}
/**
* 根据传入的SQL语句向数据库增加一条记录
* @param sql
* @throws Exception
*/
public void insert(String sql) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = getConnection();
ps = conn.prepareStatement(sql);
ps.executeUpdate();
} catch (SQLException sqle) {
throw new Exception("insert data exception: " + sqle.getMessage());
} finally {
try {
if (ps != null) {
ps.close();
}
} catch (Exception e) {
throw new Exception("ps close exception: " + e.getMessage());
}
}
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
throw new Exception("connection close exception: " + e.getMessage());
}
}
/**
* 根据传入的SQL语句更新数据库记录
* @param sql
* @throws Exception
*/
public void update(String sql) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = getConnection();
ps = conn.prepareStatement(sql);
ps.executeUpdate();
} catch (SQLException sqle) {
throw new Exception("update exception: " + sqle.getMessage());
} finally {
try {
if (ps != null) {
ps.close();
}
} catch (Exception e) {
throw new Exception("ps close exception: " + e.getMessage());
}
}
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
throw new Exception("connection close exception: " + e.getMessage());
}
}
/**
* 根据传入的SQL语句删除一条数据库记录
* @param sql
* @throws Exception
*/
public void delete(String sql) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = getConnection();
ps = conn.prepareStatement(sql);
ps.executeUpdate();
} catch (SQLException sqle) {
throw new Exception("delete data exception: " + sqle.getMessage());
} finally {
try {
if (ps != null) {
ps.close();
}
} catch (Exception e) {
throw new Exception("ps close exception: " + e.getMessage());
}
}
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
throw new Exception("connection close exception: " + e.getMessage());
}
}
}
分页操作JavaBean
在操作报表的时候常常用到,方便分页显示。
package beans;
public class Page {
private int totalPage;//总页数
private int currentPage;//当前页数
private int totalRecord;//总的记录条数
private int currentRecord;//当前记录的条数
private int pageSize = 6;//每页显示的记录数量,这里默认每页显示6条
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentRecord,int pageSize ) {
//如果当前记录数除以每页显示条数可以整除,商就是当前的页码
if(currentRecord%pageSize == 0)
{
currentPage = currentRecord/pageSize;
}else
{
//如果当前记录数除以每页显示条数不能整除,商加1才是当前的页码
currentPage = currentRecord/pageSize+1;
}
}
public int getCurrentRecord() {
return currentRecord;
}
public void setCurrentRecord(int currentRecord) {
this.currentRecord = currentRecord;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalRecord,int pageSize) {
//如果总记录数除以每页显示条数可以整除,商就是总页码
if(totalRecord%pageSize == 0)
{
totalPage = totalRecord/pageSize;
}else
{
//如果总记录数除以每页显示条数不能整除,商加1才是总页码
totalPage = totalRecord/pageSize+1;
}
}
public int getTotalRecord() {
return totalRecord;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
}
}
作者:beijiguangyong 发表于2012-2-29 23:52:40
原文链接