數據庫課程設計 人事管理系統

    1、JAVA與數據庫的合做java

這次開發語言爲Java,所用的數據庫驅動是mysql-connector-java-5.1.8-bin.jarmysql

 

第一步   用Java鏈接MySQL數據庫(驅動下載:https://dev.mysql.com/downloads/connector/j/   )git

將下載好的mysql-connector-java-5.1.8-bin.jar複製到本機下載的Java的文件夾中 (做者的是 C:\Program Files (x86)\Java\jdk1.7.0_07)github

而後在 Eclipse 中,鼠標選中人事管理系統工程,右鍵點擊 Build Path,選擇 Configure Build Path,會 跳 出 一 個 屬 性 框 圖 。選 擇 Java Build Path 下 的 Libraries , 查 看 是 否 有 mysql-connector-java-5.1.8-bin.jar。算法

若是沒有,點擊Add External JARs,瀏覽到JDBC的MySQL 驅動的 jar 包,點擊肯定,將其導入到項目中。sql

 

第二步  在項目下跑一個測試代碼來檢測數據庫是否連接成功數據庫

 1 public  class Test() {  2         public static void main(String []args){  3 try {  4             //mysql數據庫設置驅動程序類型
 5             Class.forName("com.mysql.jdbc.Driver");  6             System.out.println("mysql數據庫驅動加載成功");  7             
 8             //sqlserver數據庫設置驅動程序類型  9             //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 10             //System.out.println("sqlserver數據庫驅動加載成功");
11 
12  } 13         catch(java.lang.ClassNotFoundException e) { 14  e.printStackTrace(); 15  } 16  } 17 }

 

 

第三步:驅動連接成功後,就能夠在數據庫創建待操做的基本表了函數

 

人事管理系統主要表爲  (員工信息表 和 人事變動表)   sqlserver

 

對錶的基本操做包括  用SQL語句對錶中數據進行  查詢和更新(增刪改)學習

 

首先建立一個Connection對象   而後用SQL語句對數據庫進行操做    具體代碼以下

 
 

package exercise3;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

 
 


public class DbProcess{


static
Connection connection = null; //連接對象 static ResultSet rs=null ; //操做後結果集 //mysql數據庫url static String userMySql="root"; //數據庫用戶名 static String passwordMySql="a123456"; //密碼 static String urlMySql = "jdbc:mysql://localhost:3306/StaffDb?user="+userMySql+"&password="+passwordMySql+"&useUnicode=true&characterEncoding=gbk"; //將數據庫與Java連接 public DbProcess() { DbProcess//構造函數 try { //mysql數據庫設置驅動程序類型 Class.forName("com.mysql.jdbc.Driver"); System.out.println("mysql數據庫驅動加載成功"); } catch(java.lang.ClassNotFoundException e) { e.printStackTrace(); } } public static void connect(){ //鏈接 try{ //mysql數據庫 connection = DriverManager.getConnection(urlMySql); if(connection!=null){ System.out.println("數據庫鏈接成功"); } } catch(Exception e){ e.printStackTrace(); } } public static void disconnect(){ //斷開鏈接 try{ if(connection != null){ connection.close(); connection = null; } } catch(Exception e){ e.printStackTrace(); } } public static ResultSet executeQuery(String sql) { //把查詢SQL語句傳送至數據庫並執行 而後返回查詢的結果集 try { System.out.println("executeQuery(). sql = " + sql); PreparedStatement pstm = connection.prepareStatement(sql); //PreparedStatement:用於執行sql語句的對象 //用connection的PreparedStatement(sql)方法獲取 rs = pstm.executeQuery(); // ResultSet rw=rs; //while(rs.next()){ //System.out.println(rs.getString("pNo")); // } } catch(SQLException ex) { ex.printStackTrace(); } return rs; } //插入 //executeUpdate 的返回值是一個整數,指示受影響的行數(即更新計數)。 //executeUpdate用於執行 INSERT、UPDATE 或 DELETE 語句 //以及 SQL DDL(數據定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。 //執行增、刪、改語句的方法 public static int executeUpdate(String sql) { //把更新SQL語句傳送至數據庫執行 int count = 0; connect(); try { Statement stmt = connection.createStatement(); count = stmt.executeUpdate(sql); } catch(SQLException ex) { System.err.println(ex.getMessage()); } disconnect(); return count; } }

 

 

 

例如  查詢全部員工的我的信息

 1         try{
 2             // 創建查詢條件
 3             String sql = "select * from person;";
 4             System.out.println("queryAllProcess(). sql = " + sql);
 5     
 6                 // 將查詢得到的記錄數據,轉換成適合生成JTable的數據形式
 7             DbProcess.connect();
 8             
 9              DbProcess.executeQuery(sql);   //結果集ResultSet
10         
11         
12             
13             // 將查詢得到的記錄數據,轉換成適合生成JTable的數據形式
14             staffVector.clear();    //此條爲UI部分  可無論
15             while(DbProcess.rs.next()){
16                 Vector v = new Vector();
17                 System.out.println(DbProcess.rs.getString("pName"));      //測試語句:輸出查詢出來的姓名
18                 v.add(DbProcess.rs.getString("pId"));
19                 v.add(DbProcess.rs.getString("pName"));
20                 v.add(DbProcess.rs.getString("pSex"));
21         v.add(MD5.decrypt(DbProcess.rs.getString("pPasswd")));       
22                  //MD5.decrypt()爲個人數據庫密碼算法  
23                 v.add(DbProcess.rs.getString("pAuthority"));
24                 v.add(DbProcess.rs.getString("pDepartment"));
25                 v.add(DbProcess.rs.getString("pJob"));
26                 v.add(DbProcess.rs.getString("pEdulevel"));
27                 v.add(DbProcess.rs.getString("pSpcialty"));
28                 v.add(DbProcess.rs.getString("pBirthday"));
29                 v.add(DbProcess.rs.getString("pAddress"));
30                 v.add(DbProcess.rs.getString("pTel"));
31                 v.add(DbProcess.rs.getString("pEmail"));
32                 v.add(DbProcess.rs.getString("pState"));
33                 v.add(DbProcess.rs.getString("pRemark"));
34                 
35                 staffVector.add(v);                //    查詢結果集已轉換爲Vector v ,並將v添加到個人GUI中顯示
36             }
37     StaffJTable.updateUI();        //此條更新UI,在本次能夠無論
38             DbProcess.disconnect();
39         }catch(SQLException sqle){
40             System.out.println("sqle = " + sqle);
41             JOptionPane.showMessageDialog(null,
42                 "數據操做錯誤","錯誤",JOptionPane.ERROR_MESSAGE);
43         }catch(Exception e){
44             System.out.println("e = " + e);
45             JOptionPane.showMessageDialog(null,
46                 "數據操做錯誤","錯誤",JOptionPane.ERROR_MESSAGE);
47         }

 

 

 

 

最後提早預覽一波,俺本次課程設計作出最後的做品

 

 用戶模式:

 

 管理員模式:

 

 

 

 

 

關於項目源代碼我上傳到Github 上 能夠直接下載 

https://github.com/MrBling/Database

sql文件是個人數據庫文件    數據庫是我當時課設的項目名 我懶得改了  固然建議用英文 不建議用中文

 

注:我數據庫項目 由於當時用的是絕對路徑因此想要用的話 須要把數據庫按照個人路徑來存放

把「數據庫」這個文件夾     放到這個路徑下F:\學習資料\JAVA\calculator

相關文章
相關標籤/搜索