幫同學寫一個小程序, 通過JDBC連接MySQL數據庫, 來操作相關數據表, 并記錄和查詢信息, 沒有圖形界面, 是基于控制臺來操作的.
xx管理系統.png
項目結構圖:
項目結構圖.png
其中
vo包里面的User類是一個JavaBean實體類
view包提供無限循環的顯示菜單
util工具包, 包括數據類型的轉換, 數據庫驅動的連接, 封裝好的鍵盤錄入操作
driver包: 包含main方法, 是程序的入口, 來啟動項目
dao(data access object)包: 定義操作數據庫數據的接口和它的實現類
相關代碼:
UserManager.java:
package driver;
import view.Menu;
public class UserManager {
public static void main(String[] args) {
new Menu();
}
}
Menu.java:
package view;
import util.InputData;
import dao.IUserDAOImp;
import vo.User;
import java.util.List;
public class Menu {
IUserDAOImp iu = new IUserDAOImp();
InputData input = new InputData();
public Menu() {
while (true) {
this.show();
}
}
public void show() {
System.out.println("--------人員信息管理系統-------");
System.out.println("1.增加人員");
System.out.println("2.按編號刪除人員");
System.out.println("3.按編號修改人員信息");
System.out.println("4.按編號查詢人員信息");
System.out.println("5.按關鍵字查詢人員信息");
System.out.println("0.退出");
User user = null;
int i = input.getInt("請選擇:", "請輸入正確的選項!");
switch (i) {
case 1:
int id = input.getInt("請輸入人員編號:", "格式不對,請重新輸入!");
String name = input.getString("請輸入人員姓名:");
String sex = input.getString("請輸入性別:");
java.util.Date birthday = input.getDate("請輸入出生日期:", "格式不對,請重新輸入!");
user = new User(id, name, sex, birthday);
if (iu.doInsert(user)) {
System.out.println("添加成功!");
} else {
System.out.println("添加失敗!");
}
break;
case 2:
int id2 = input.getInt("請輸入人員編號:", "格式不對,請重新輸入!");
try {
if (iu.doDelete(id2)) {
System.out.println("刪除成功!");
} else {
System.out.println("刪除失敗!");
}
} catch (Exception e1) {
e1.printStackTrace();
}
break;
case 3:
int id3 = input.getInt("請輸入人員編號:", "格式不對,請重新輸入!");
String name3 = input.getString("請輸入人員姓名:");
String sex3 = input.getString("請輸入性別:");
java.util.Date birthday3 = input.getDate("請輸入出生日期:", "格式不對,請重新輸入!");
user = new User(id3, name3, sex3, birthday3);
try {
if (iu.doUpdate(id3, user)) {
System.out.println("修改成功!");
} else {
System.out.println("修改失敗!");
}
} catch (Exception e1) {
e1.printStackTrace();
}
break;
case 4:
int id4 = input.getInt("請輸入人員編號:", "格式不對,請重新輸入!");
try {
user = iu.findById(id4);
System.out.println(user);
} catch (Exception e1) {
e1.printStackTrace();
}
break;
case 5:
String keyword5 = input.getString("請輸入查詢關鍵字");
try {
List<User> list = iu.findByKey(keyword5);
for (User u : list) {
System.out.println(u);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
case 0:
System.exit(1);
break;
default:
System.out.println("請選擇正確的操作!");
}
}
}
數據庫操作:
數據庫操作png
SQL語句:
use `usermanage`;
create table `user`(
id int primary key,
name varchar(25),
sex varchar(5),
birthday date
);
演示結果:
演示.gif
最后注意:
該項目因為某些原因, 是GBK編碼, 所以為了避免亂碼, 需要設置項目的編碼為GBK, Eclipse的設置同理. 同時, 里面包含.classpath和.project文件, 也可以直接通過Eclipse打開!
GBK.png
完整代碼:
https://github.com/menglanyingfei/Java/blob/master/CodeCollection/JavaSEProjects/JDBC/JDBC.zip
@Author menglanyingfei
@Created on 2017.11.30