資料庫內容:
java原始碼:(代碼實現的是查詢成績為100的人員資訊,至於其他功能的代碼中有注釋)注意:在eclipse裡運行程式的時候,要工程裡插入jar包,否則運行異常!import java.sql.*;
import java.io.*;class database_manage { public Connection conn = null; public ResultSet rs = null; private String DatabaseDriver = "com.mysql.jdbc.Driver";
// DataSource 資料來源名稱DSN
private String DatabaseConnStr = "jdbc:mysql://localhost:3306/people_manage?useUnicode=true&characterEncoding=utf8"
+ ",root,root"; public void setDatabaseDriver(String Driver) {
this.DatabaseDriver = Driver;
} public String getDatabaseDriver() {
return (this.DatabaseDriver);
} public void setDatabaseConnStr(String ConnStr) {
this.DatabaseConnStr = ConnStr;
} public String getDatabaseConnStr() {
return (this.DatabaseConnStr);
} public database_manage() {// 建構函式串連資料庫
try {
Class.forName(DatabaseDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("載入磁碟機有錯誤:" + e.getMessage());
System.out.print("執行插入有錯誤:" + e.getMessage());// 輸出到用戶端
}
}
public ResultSet query(String sql) {// 查詢資料庫
rs = null;
try {
conn = DriverManager
.getConnection(
"jdbc:mysql://localhost:3306/people_manage?useUnicode=true&characterEncoding=utf8",
"root", "root");
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("執行查詢有錯誤:" + ex.getMessage());
System.out.print("執行查詢有錯誤:" + ex.getMessage()); // 輸出到用戶端
}
return rs;
} public int update_database(String sql) {// 更新或插入資料庫
int num = 0;
try {
conn = DriverManager
.getConnection(
"jdbc:mysql://localhost:3306/people_manage?useUnicode=true&characterEncoding=utf8",
"root", "root");
Statement stmt = conn.createStatement();
num = stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("執行插入有錯誤:" + ex.getMessage());
System.out.print("執行插入有錯誤:" + ex.getMessage());// 輸出到用戶端
} CloseDataBase();
return num; } public void CloseDataBase() {// 關閉資料庫
try {
conn.close();
} catch (Exception end) {
System.err.println("執行關閉Connection對象有錯誤:" + end.getMessage());
System.out.print("執行執行關閉Connection對象有錯誤:有錯誤:" + end.getMessage()); // 輸出到用戶端
}
}}class people {
private String uid;
private String name;
private String banji;
private int score; public people() {
} public people(String uid, String name, String banji) {
this.uid = uid;
this.name = name;
this.banji = banji;
} public people(String uid, String name, String banji, int score) {
this.uid = uid;
this.name = name;
this.banji = banji;
this.score = score;
} public String getUid() {
return uid;
} public void setUid(String uid) {
this.uid = uid;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getBanji() {
return banji;
} public void setBanji(String banji) {
this.banji = banji;
} public int getScore() {
return score;
} public void setScore(int score) {
this.score = score;
}}public class manage { private people[] people_array1;// 對象數組 public void add_people(String uid, String name) { String sql = "insert people (uid,name) values ('" + uid + "','" + name
+ "')";// sql插入語句
// String sql2 = "insert people (uid,name) values ('uid001','tom')"; database_manage db_obj = new database_manage();
db_obj.update_database(sql);
} public void update_people(String uid, String name) { String sql = "update people set name='" + name + "' where uid='" + uid
+ "'";
database_manage db_obj = new database_manage();
db_obj.update_database(sql); } public void delete_people(String uid) { String sql = "delete from people where uid='" + uid + "'"; database_manage db_obj = new database_manage(); db_obj.update_database(sql); } public people query_people(String uid) {
database_manage db_obj = new database_manage();
// String adminid=null;
String uid_new, name, banji;
uid_new = null;
name = null;
banji = null;
String sql_query = "select * from people where uid='" + uid + "'"; try {
ResultSet rs = db_obj.query(sql_query);
if (rs.next()) {
uid_new = rs.getString("uid");
name = rs.getString("name");
banji = rs.getString("banji");
}
} catch (Exception e) {
e.getMessage();
}
people new_people = new people(uid_new, name, banji);
return new_people;
} public people[] query_people_byscore(int score) {
database_manage db_obj = new database_manage();
String uid_new, name, banji;
uid_new = null;
name = null;
banji = null;
int score_new = 0;
String sql_query = "select * from people where score=" + score;// sql查詢語句
try {
ResultSet rs = db_obj.query(sql_query);// 查詢後,返回結果集
int num = 0;
ResultSet rs_new = rs;
while (rs_new.next()) {// 統計結果集中學生個數
num++;
}
// System.out.println(num);
people_array1 = new people[num];
int i = 0;
rs.beforeFirst();// 返回結果集的開始
while (rs.next()) {
uid_new = rs.getString("uid");
name = rs.getString("name");
banji = rs.getString("banji");
score_new = rs.getInt("score");
people_array1[i] = new people(uid_new, name, banji, score_new);
i++;
}
} catch (Exception e) {
e.getMessage();
}
return people_array1;
}
public static void main(String args[]) {
/*
* people new_people=new people();
*
* manage mr=new manage(); //mr.add_people("000","小明");插入一個學生的資訊
*
* new_people=mr.query_people("001");//查詢uid=001的學生資訊,返回對象 System.out.
* println(""+new_people.getName()+" "+new_people.getBanji());
* mr.update_people("004", "小王");更新一個學生的資訊
*
* new_people=mr.query_people("004");//更新後查詢
*
* System.out.println(""+new_people.getName()+" "+new_people.getBanji(
* ));
*/
manage mr = new manage();
// mr.delete_people("001");刪除uid=001的學生資訊
people[] people_array;// 聲明對象數組
people_array = mr.query_people_byscore(100);// 返回成績為一百的學生類數組,後輸出
int num = 0;
num = people_array.length;
for (int i = 0; i < num; i++) {
System.out.println(people_array[i].getUid() + " "
+ people_array[i].getName() + " "
+ people_array[i].getBanji() + " "
+ people_array[i].getScore());
}
}
}
程式運行結果: