Java之學生資訊管理系統升級版(資料庫程式設計)
經過了幾天的學習後,我覺得如果僅僅使用檔案來儲存資料,不僅十分繁瑣而且資料也不安全,如果檔案丟失或者出現異常,那麼將無法挽回。這時候使用資料庫MySQL來儲存則更好。
學生類:
package Student;
public class Student {
private String Name;
private int StNo;
private int StAge;
private String Sex;
public void SetStudent(String name,int StNo,int StAge,String sex){
this.Name = name;
this.StNo = StNo;
this.StAge = StAge;
this.Sex = sex;
}
public void print(){
System.out.println("學號:"+this.StNo+" "+"姓名:"+this.Name+" "+"年齡:"+this.StAge);
}
public int GetNO()
{
return this.StNo;
}
public String GetName(){
return this.Name;
}
public int GetAge(){
return this.StAge;
}
public String GetSex(){
return this.Sex;
}
}
資料庫類:
package Student;
import java.sql.*;
import java.util.Scanner;
public class StuSql {
public boolean idIsUsed(Connection con, int id){
Statement stat = null;
try {
stat = con.createStatement();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResultSet result = null;
try {
result = stat.executeQuery("select * from test");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while (result.next())
{
if(id == result.getInt("id")){
return true;
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public Connection getconnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("成功載入MySql驅動器");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("找不到MySql驅動器");
e.printStackTrace();
}
String url="jdbc:mysql://localhost:3306/hello"; //JDBC的URL,hello為資料庫名字
// MySQL配置時的使用者名稱
String user = "root";
// MySQL配置時的密碼
String password = "123456";
//呼叫DriverManager物件的getConnection()方法,獲得一個Connection物件
Connection con = null;
try {
con = DriverManager.getConnection(url,user,password);
System.out.println("成功連線到資料庫");
}catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public void insertStuSql(Connection con){
Student st = new Student();
System.out.println("請輸入學號姓名年齡和性別:");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
int StNo = sc.nextInt();
String name = sc.next();
int StAge = sc.nextInt();
String sex = sc.next();
st.SetStudent(name, StNo, StAge, sex);
if (!idIsUsed(con, StNo) && StNo > 0) {
java.sql.PreparedStatement stat = null;
try {
stat = con.prepareStatement("insert into test values(?, ?, ?, ?)");
} catch (SQLException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
}
try {
stat.setInt(1, st.GetNO());
} catch (SQLException e3) {
e3.printStackTrace();
}
try {
stat.setString(2, st.GetName());
} catch (SQLException e2) {
e2.printStackTrace();
}
try {
stat.setInt(3, st.GetAge());
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
stat.setString(4, st.GetSex());
} catch (SQLException e) {
e.printStackTrace();
}
try {
stat.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
else{
System.out.println("無法新增,id已使用!");
}
}
public void reviseStuSql(Connection con,int StuNo)
{
if (idIsUsed(con, StuNo) && StuNo > 0) {
Statement stat = null;
try {
stat = con.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sql = "delete from test where id=" + StuNo;
try {
stat.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else{
System.out.println("無法刪除,使用者不存在!");
}
}
public void updateStuSql(Connection con,int StuNo){
if (idIsUsed(con, StuNo) && StuNo > 0) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.println("請輸入更新後的名字年齡性別:");
String name = sc.next();
int age = sc.nextInt();
String sex = sc.next();
String sql = "update test set name='" + name + "',age='"+age+"',sex='"+sex+"' where id='"
+ StuNo + "'";
PreparedStatement pstmt = null;
try {
pstmt = (PreparedStatement) con.prepareStatement(sql);
int i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
if (i < 1) {
System.out.println("使用者不存在!");
}
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
System.out.println("無法更新,使用者不存在!");
}
}
public void selectStuSql(Connection con){
Statement stat = null;
try {
stat = con.createStatement();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResultSet result = null;
try {
result = stat.executeQuery("select * from test");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
System.out.println("當前資料如下:");
while (result.next())
{
System.out.println(result.getInt("id") + " " + result.getString("name") + " " + result.getInt("age")+" " + result.getString("sex"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
展示類:
package Student;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Scanner;
public class StList {
public void Show(){
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
StuSql sql = new StuSql();
Connection con = sql.getconnection();
int value;
while(true){
System.out.println("學生管理系統");
System.out.println("請輸入相應的數字選擇功能方式:");
System.out.println("1:增加\t2:刪除\t3:修改\t4:檢視\t5:退出");
value = scanner.nextInt();
switch (value) {
case 1:
sql.insertStuSql(con);
break;
case 2:
System.out.println("請輸入要刪除的學號:");
int index = scanner.nextInt();
sql.reviseStuSql(con, index);
break;
case 3:
System.out.println("請輸入要修改的學號!");
int inde = scanner.nextInt();
sql.updateStuSql(con, inde);
break;
case 4:
sql.selectStuSql(con);
break;
case 5:
System.out.println("程式已退出!");
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
default:
System.out.println("您的輸入有誤!");
break;
}
}
}
public static void main(String[] args){
StList list = new StList();
list.Show();
}
}
web版:https://blog.csdn.net/pycharm_u/article/details/85727570
相關文章
- 學生管理升級
- 資料庫課設(校友錄資訊管理系統)資料庫
- 資料結構課程設計——學生資訊管理系統資料結構
- 學生選題資訊管理系統
- 資料庫升級之-XTTS資料庫TTS
- 資料庫升級之-Dataguard滾動升級資料庫
- 資料庫升級之-資料泵資料庫
- JAVA學生宿舍管理系統Java
- 學生資訊管理系統課程設計
- 資料庫課程設計-宿舍管理系統資料庫
- 學生管理系統程式碼
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- 資料庫系統-設計、實現與管理(一)資料庫
- 基於java的大學生健康資訊管理系統的設計與實現Java
- Java 學生管理系統(MVC)開源原始碼(基礎版)JavaMVC原始碼
- xutils3資料庫升級(markdown版)S3資料庫
- 大一課程設計:基於資料庫的學生資訊系統資料庫
- 資料庫課程設計—超市零售資訊管理系統(Python實現)資料庫Python
- java+SQL做學生資訊管理系統(增刪改查)學生新作JavaSQL
- android資料庫如何進行版本升級?架構之資料庫框架升級Android資料庫架構框架
- MySQL練習——教學系統資料庫設計MySql資料庫
- C++課程設計:學生資訊管理系統C++
- AndroidSqlite資料庫版本升級管理初探AndroidSQLite資料庫
- Java簡單學生資訊管理系統Java
- 資料庫系統設計概述資料庫
- 【C語言課程設計】學生學籍管理系統C語言
- 我的PB程式資料庫升級程式資料庫
- 資料庫升級資料庫
- ♀♀資料庫升級♀♀資料庫
- 學生資訊管理系統之深度理解
- 學生資訊管理系統之優化優化
- Java作業系統課設之模擬程式管理系統Java作業系統
- 吉特倉庫管理系統-.SQL Server 2012 升級企業版SQLServer
- 好程式設計師大資料學習資料之YARN資源管理程式設計師大資料Yarn
- 學生管理系統
- 程式設計師為什麼要持續學習(升級版)程式設計師
- 達夢資料庫手動管理統計資訊方法資料庫
- EasyUI+JavaWeb獎助學金管理系統[3]-資料庫結構設計UIJavaWeb資料庫