資料庫的相關操作:如連接配接、查詢、添加、删除、修改、分頁顯示
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頁面中的代碼大家自己動手寫!很容易的!