数据库的相关操作:如连接、查询、添加、删除、修改、分页显示
package study.database;
import java.sql.*;
import java.io.*;
import java.util.*;
public class Operation {
//数据库驱动程序
private String strDriver = "";
//数据库连接字符串
private String strURL = "";
//数据库用户名
private String username = "";
//数据库密码
private String password = "";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
private void loadProp(){
InputStream is = getClass().getResourceAsStream("/setup.txt");
Properties props = new Properties();
try{
props.load(is);
}catch(Exception e){
System.err.println("不能读取配置文件. 请确保setup.txt在classes指定的路径中");
}
Enumeration propNames = props.propertyNames();
while (propNames.hasMoreElements()) {
String name = (String) propNames.nextElement();
if (name.endsWith(".driver")) {
String poolName = name.substring(0, name.lastIndexOf("."));
strDriver = props.getProperty(poolName + ".driver");
strURL = props.getProperty(poolName + ".url");
username = props.getProperty(poolName + ".user");
password = props.getProperty(poolName + ".password");
}
}
}
public Operation() {
//读到数据库配置信息
loadProp();
try{
Class.forName(strDriver);
}catch(java.lang.ClassNotFoundException e) {
System.err.println("数据库连接错误:" + e.getMessage());
}
try{
conn=DriverManager.getConnection(strURL,username,password);
}catch(SQLException ex) {
System.err.println("数据库连接错误:" + ex.getMessage());
}
}
public ResultSet query(String sql) {
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException ex) {
System.err.println("数据库查询错误:" + ex.getMessage());
}
return rs;
}
public void update(String sql) {
try{
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}catch(SQLException ex) {
System.err.println("数据库更新错误:"+ex.getMessage());
}
}
public int totalRecord(ResultSet rs) throws Exception{
int total=0;
//指针移到最后一条记录上
rs.last();
total = rs.getRow();
rs.first();
return total;
}
public String showPages(int currPage, int pageSize, int pageCount, String filename){
String addr;
addr = "<table width=100% + currPage + "</font></strong>页 " +
"共<strong><font color=red>" + pageCount + "</font></strong>页每页<strong><font color=red>" + pageSize + "</font></strong>条 ";
if(currPage > pageCount){
currPage = pageCount;
}
if(currPage < 1){
currPage = 1;
}
if(currPage < 2){
addr += "首 页 上一页 ";
}
else{
addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=1>首 页</a> ";
addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=" + (currPage - 1) + ">上一页</a> ";
}
if(currPage >= pageCount){
addr += "下一页 尾 页 ";
}
else{
addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=" + (currPage + 1) + ">下一页</a> ";
addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=" + pageCount + ">尾 页</a> ";
}
addr += "转到:<select name=´page´ size=´1´ style=´font-size: 9pt´ onChange=´javascript :pageform.submit()´> ";
for(int i = 1; i <= pageCount; i ++){
if(currPage==i){
addr += "<option value=" + i + " selected> 第 "+i+"页 </option > ";
}
else{
addr += "<option value=" + i + "> 第 "+i+"页 </option > ";
}
}
addr += "</select></div></td></tr></form></table>";
return addr;
}
public void closestmt() {
try{
stmt.close();
}catch(SQLException ex) {
System.err.println("数据集关闭错误:"+ex.getMessage());
}
}
public void closeconn() {
try{
conn.close();
}catch(SQLException ex) {
System.err.println("数据库连接关闭错误:"+ex.getMessage());
}
}
}
其中的JSP页面中的代码大家自己动手写!很容易的!