新聞中心
隨著時代的變遷,計算機(jī)技術(shù)快速發(fā)展,數(shù)據(jù)庫管理系統(tǒng)已成為日常生活和工作中必不可少的一部分。那么,如何實現(xiàn)一個簡單的學(xué)生信息數(shù)據(jù)庫存儲系統(tǒng)呢?本文將介紹如何使用Java技術(shù),實現(xiàn)一個基本的學(xué)生信息數(shù)據(jù)庫存儲系統(tǒng)。

一、需求分析
在開始實現(xiàn)之前,我們需要先明確需求。本文要實現(xiàn)的學(xué)生信息數(shù)據(jù)庫存儲系統(tǒng)需要具有以下功能:
1.能夠輸入學(xué)生的基本信息,如姓名、性別、年齡、出生日期等。
2.能夠?qū)W(xué)生信息進(jìn)行查詢、修改和刪除操作。
3.能夠?qū)W(xué)生信息保存到數(shù)據(jù)庫中。
4.能夠從數(shù)據(jù)庫中讀取學(xué)生信息并顯示。
以上是實現(xiàn)該系統(tǒng)的基本要求,下面將分別介紹如何實現(xiàn)這些功能。
二、實現(xiàn)輸入學(xué)生基本信息
Java提供了很多方便的輸入輸出類來幫助我們實現(xiàn)輸入輸出操作,如Scanner類、Console類、System.in類等。在本文中,我們將使用Scanner類來實現(xiàn)輸入學(xué)生基本信息。
在Java中我們需要定義一個學(xué)生類,用來存儲學(xué)生的基本信息。學(xué)生類可以包含屬性:姓名、性別、年齡、出生日期等。然后,我們需要創(chuàng)建一個學(xué)生信息數(shù)組,用來存儲多個學(xué)生信息。
接下來,我們使用Scanner類來獲取用戶輸入的學(xué)生信息,并將學(xué)生信息存儲到學(xué)生信息數(shù)組中,代碼如下:
public static void mn(String[] args) {
Scanner input = new Scanner(System.in);
int num; //存儲學(xué)生數(shù)量
System.out.println(“請輸入學(xué)生的數(shù)量:”);
num = input.nextInt(); //獲取學(xué)生數(shù)量
//定義學(xué)生信息數(shù)組
Student[] s = new Student[num];
System.out.println(“請輸入學(xué)生的基本信息:”);
for(int i=0; i
s[i] = new Student(); //創(chuàng)建學(xué)生對象
System.out.print(“姓名:”);
String name = input.next();
s[i].setName(name);
System.out.print(“性別:”);
char sex = input.next().charAt(0);
s[i].setSex(sex);
System.out.print(“年齡:”);
int age = input.nextInt();
s[i].setAge(age);
System.out.print(“出生日期(yyyy-MM-dd):”);
Date birthday = new SimpleDateFormat(“yyyy-MM-dd”).parse(input.next());
s[i].setBirthday(birthday);
System.out.println(“————————–“);
}
}
三、實現(xiàn)查詢、修改和刪除學(xué)生信息
通過上面的代碼,我們已經(jīng)實現(xiàn)了輸入學(xué)生的基本信息,接下來我們將實現(xiàn)查詢、修改和刪除學(xué)生信息的功能。
Java提供了很多數(shù)據(jù)庫操作的API,如JDBC、Hibernate、MyBatis等。在本文中,我們將使用JDBC API來實現(xiàn)數(shù)據(jù)庫操作。
我們需要連接數(shù)據(jù)庫,這里我們使用MySQL數(shù)據(jù)庫。連接數(shù)據(jù)庫的代碼如下:
Class.forName(“com.mysql.jdbc.Driver”);
String url = “jdbc:mysql://localhost:3306/student_information_system”;
String username = “root”;
String password = “123456”;
Connection conn = DriverManager.getConnection(url, username, password);
然后,我們需要實現(xiàn)查詢、修改和刪除學(xué)生信息的代碼。代碼如下:
//查詢學(xué)生信息
String sql = “SELECT * FROM student_information”;
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
System.out.println(“學(xué)生基本信息如下:”);
while(rs.next()){
String name = rs.getString(“name”);
char sex = rs.getString(“sex”).charAt(0);
int age = rs.getInt(“age”);
Date birthday = rs.getDate(“birthday”);
System.out.println(“姓名:”+name+”\t性別:”+sex+”\t年齡:”+age+”\t出生日期:”+birthday);
}
//修改學(xué)生信息
sql = “UPDATE student_information SET age=? WHERE name=?”;
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 20); //將名為小明的學(xué)生年齡修改為20歲
pstmt.setString(2, “小明”);
pstmt.executeUpdate();
//刪除學(xué)生信息
sql = “DELETE FROM student_information WHERE name=?”;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, “小明”); //刪除名為小明的學(xué)生信息
pstmt.executeUpdate();
四、實現(xiàn)將學(xué)生信息保存到數(shù)據(jù)庫中
我們已經(jīng)實現(xiàn)了查詢、修改和刪除學(xué)生信息的功能,接下來我們將實現(xiàn)將學(xué)生信息保存到數(shù)據(jù)庫中的功能。
代碼如下:
//將學(xué)生信息保存到數(shù)據(jù)庫中
for(int i=0; i
sql = “INSERT INTO student_information(name, sex, age, birthday) VALUES (?, ?, ?, ?)”;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, s[i].getName());
pstmt.setString(2, String.valueOf(s[i].getSex()));
pstmt.setInt(3, s[i].getAge());
pstmt.setDate(4, new java.sql.Date(s[i].getBirthday().getTime()));
pstmt.executeUpdate();
}
五、實現(xiàn)從數(shù)據(jù)庫中讀取學(xué)生信息并顯示
我們需要實現(xiàn)從數(shù)據(jù)庫中讀取學(xué)生信息并顯示的功能。
代碼如下:
//從數(shù)據(jù)庫中讀取學(xué)生信息并顯示
sql = “SELECT * FROM student_information”;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
System.out.println(“學(xué)生基本信息如下:”);
while(rs.next()){
String name = rs.getString(“name”);
char sex = rs.getString(“sex”).charAt(0);
int age = rs.getInt(“age”);
Date birthday = rs.getDate(“birthday”);
System.out.println(“姓名:”+name+”\t性別:”+sex+”\t年齡:”+age+”\t出生日期:”+birthday);
}
六、
本文介紹了如何使用Java技術(shù),實現(xiàn)一個簡單的學(xué)生信息數(shù)據(jù)庫存儲系統(tǒng)。通過本文所述的方式,可以輕松實現(xiàn)學(xué)生信息的數(shù)據(jù)庫存儲,并且實現(xiàn)基本的查詢、修改和刪除學(xué)生信息功能。如果您需要進(jìn)一步了解Java的相關(guān)知識,請參考Java官方文檔或者Java編程的相關(guān)書籍。
相關(guān)問題拓展閱讀:
- 怎樣用Java實現(xiàn)從文本文檔中讀取數(shù)據(jù)并存入數(shù)據(jù)庫
- 用java語句,建立一個數(shù)據(jù)庫student,在數(shù)據(jù)庫中建一個student表,表中至少有學(xué)號、姓名、專業(yè)三個字段
怎樣用Java實現(xiàn)從文本文檔中讀取數(shù)據(jù)并存入數(shù)據(jù)庫
不知道你要什么樣的文本,文本中的內(nèi)容是否是有格式的:
這里提供下思路,供參考:
1.文本文件,基本上式字符格式的了,可以用Reader io流
2.如果是格式化的文本,可以按數(shù)據(jù)的長度讀取, readInt readByte…
3.保存到數(shù)據(jù)庫 當(dāng)然用JDBC了,如果你讀取出來封裝成POJO了,也可以選擇 OM框架
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 文件讀取和寫入數(shù)據(jù)庫
* @author 樊云升
*
*/
public class FilesReader {
public FilesReader(){
}
/**
* 讀取文件內(nèi)容
* @param FILE
* @return
*/
public String re_content(String FILE){
String content=””;
try{
BufferedReader bufRead=new BufferedReader(new InputStreamReader(new FileInputStream(FILE))); 攜掘
斗衫String str;
while((str=bufRead.readLine())!=null){
content+=str+”\r\n”;
}
}catch(IOException ioe){
ioe.printStackTrace();
}
return content;
}
/**
* 將特定字符寫入數(shù)據(jù)庫中(原來我寫的是重寫文件,你這里這里將content寫入數(shù)據(jù)庫就OK)
* @param path
* @return
*/
public boolean writeFile(String content){
try{
//數(shù)據(jù)庫寫入代碼
辯銷核 }catch(Exception e){
out.close();
return false;
}
return true;
}
public static void main(String args) {
String content=new FilesReader().re_content(“D:\\AJAX.htm”);
new FilesReader().writeFile(content);
}
}
用java語句,建立一個數(shù)據(jù)庫student,在數(shù)據(jù)庫中建一個student表,表中至少有學(xué)號、姓名、專業(yè)三個字段
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.PreparedStatement;
public class JDBC {
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
private String driver = “com.mysql.jdbc.Driver”; //不同的數(shù)據(jù)庫只要稍加修改即可
private String url=”jdbc:
?characterEncoding=GBK”;//連接也要改
private String user = “root”;//
用戶名
private String password = “mysql”;//密碼
/**
* 準(zhǔn)備連接
*/
public void startConnection() throws ClassNotFoundException, SQLException {
Class.forName(driver); //注冊數(shù)據(jù)庫驅(qū)動
con = DriverManager.getConnection(url, user, password); //獲得數(shù)據(jù)庫連接
}
/**
* 執(zhí)行select 并返回結(jié)果集 throws SQLException
*/
public ResultSet query(String sql) throws SQLException {
stmt = con.createStatement(); //創(chuàng)建Statement
rs = stmt.executeQuery(sql); //執(zhí)行查詢
return rs;
}
/**
* 執(zhí)行insert update delete
*/
public int update(String sql) throws SQLException {
stmt = con.createStatement();
int r = stmt.executeUpdate(sql);
return r;
}
/**
* 釋放資源(連接)
*/
public void releaseConnection() {
try {
if (rs != null)
rs.close();
stmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2.對數(shù)據(jù)庫表的操作放在另外一包中,不同的操作在不同的類中實現(xiàn)—–>只要在其他的包里引入這個類包,再繼承這個類即可
操作內(nèi)容:—–>調(diào)用父類者猜派里的方法即可
(1)、使用結(jié)果集對數(shù)據(jù)庫表進(jìn)行操首賀作:先插入一條記錄,后刪除一條記錄;(2)、使用
批處理
方法插入3個學(xué)生的信息;(3)、使用事務(wù)實現(xiàn)一個同學(xué)
轉(zhuǎn)專業(yè)
—先刪除一條記錄、后增加一條記錄兆尺(兩者要么同時實現(xiàn),要么同時不實現(xiàn))。
3、程序的實現(xiàn)過程中加入異常處理語句
至少也該說說用什么數(shù)據(jù)庫吧…
關(guān)于java中把學(xué)生信息數(shù)據(jù)寫入數(shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機(jī)房服務(wù)器托管租用。
新聞名稱:Java實現(xiàn)學(xué)生信息數(shù)據(jù)庫存儲 (java中把學(xué)生信息數(shù)據(jù)寫入數(shù)據(jù)庫)
文章鏈接:http://m.fisionsoft.com.cn/article/dpegcgd.html


咨詢
建站咨詢
