利用java和sqlserver建立簡(jiǎn)易圖書(shū)管理系統(tǒng)的完整步驟
1.所需功能:
游覽所有圖書(shū)、查找書(shū)籍、建立新圖書(shū),借出和歸還圖書(shū),刪除某一圖書(shū)
2.流程:
數(shù)據(jù)庫(kù)連接
- 選擇需要的操作
- 釋放連接
3.環(huán)境及其語(yǔ)言:
Idea,JDK13,驅(qū)動(dòng)包Microsoft JDBC Driver 8.2.2 for SQL Server
4.數(shù)據(jù)庫(kù)建立
- 數(shù)據(jù)庫(kù):sqlserver2019
- Database:library
- Table:Book
- Book:書(shū)籍編號(hào),書(shū)籍名稱,書(shū)籍作者,庫(kù)存量
- 管理員名:sa
- 密碼:123456
5.操作:
數(shù)據(jù)庫(kù)連接:sql.T3.Test1.java
官網(wǎng)下載驅(qū)動(dòng)包Microsoft JDBC Driver 8.2.2 for SQL Server并加載到程序中。
//注冊(cè)驅(qū)動(dòng) DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); //建立連接 String dbUL="jdbc:sqlserver://localhost:1433;DatabaseName=Library"; String Name="sa"; String Paw="123456"; conn=DriverManager.getConnection(dbUL,Name,Paw);
選擇需要的操作:sql.T3.Test1.java
1.游覽所有圖書(shū)
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
sql = "select * from Book";
rs = st.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String aut = rs.getString("aut");
int num = rs.getInt("num");
System.out.println("id=" + id + " name=" + name + " aut:" + aut + " num:" + num);
}
}catch (SQLException e){
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st, rs);
}
2.查找書(shū)籍
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
System.out.println("查找方式:1.按編號(hào)查找;2.按書(shū)名查找;3.按作者查找;4.放棄操作;");
b_h2 = sc.nextInt();
f_l = true;
switch (b_h2){
case 1:
System.out.println("輸入書(shū)籍編號(hào):");
book_num = sc.nextInt();
sql1 = "select * from Book where id=" + book_num;
break;
case 2:
System.out.println("輸入書(shū)籍名稱:");
book_name = sc.next();
sql1 = "select * from Book where name='" + book_name + "'";
break;
case 3:
System.out.println("輸入書(shū)籍作者:");
author = sc.next();
sql1 = "select * from Book where id='" + author + "'";
break;
case 4:
f_l = false;
break;
}
if (f_l){
sql = sql1;
rs = st.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String aut = rs.getString("aut");
int num = rs.getInt("num");
System.out.println("id=" + id + " name=" + name + " aut:" + aut + " num:" + num);
}
}
else
System.out.println("對(duì)象已放棄操作");
}catch (SQLException e){
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st, rs);
}
3.建立新圖書(shū)
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
System.out.println("書(shū)籍導(dǎo)入:請(qǐng)依次輸入書(shū)籍的編號(hào)、書(shū)名、作者和導(dǎo)入數(shù)量:");
book_id = sc.nextInt();
book_name = sc.next();
author = sc.next();
book_num = sc.nextInt();
sql1 = "insert into Book values(" + book_id + ",'" + book_name + "','" + author + "'," + book_num + ")";
st.executeUpdate(sql1);
}catch (SQLException e){
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st);
}
4借出圖書(shū)
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
System.out.println("查找方式:1.按編號(hào)查找;2.按書(shū)名查找;3.按作者查找;4.放棄操作;");
b_h2 = sc.nextInt();
f_l = true;
switch (b_h2){
case 1:
System.out.println("輸入書(shū)籍編號(hào):");
book_num = sc.nextInt();
sql1 = "select * from Book where id=" + book_num;
break;
case 2:
System.out.println("輸入書(shū)籍名稱:");
book_name = sc.next();
sql1 = "select * from Book where name='" + book_name + "'";
break;
case 3:
System.out.println("輸入書(shū)籍作者:");
author = sc.next();
sql1 = "select * from Book where id='" + author + "'";
break;
case 4:
f_l = false;
break;
}
if (f_l){
sql = sql1;
rs = st.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String aut = rs.getString("aut");
int num = rs.getInt("num");
System.out.println("id=" + id + " name=" + name + " aut:" + aut + " num:" + num);
b_h = num;
book_id = id;
}
System.out.println("確認(rèn)借出:確認(rèn):1,取消:2");
b_h2 = sc.nextInt();
if (b_h2 == 1){
if (b_h == 0)
System.out.println("館藏書(shū)目為0,無(wú)法借出");
else{
b_h--;
sql1 = "UPDATE Book SET num=" + b_h + "WHERE id =" + book_id;
st.executeUpdate(sql1);
}
}
else
System.out.println("你已取消操作");
}
else
System.out.println("對(duì)象已放棄操作");
}catch (SQLException e)
{
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st, rs);
}
5. 歸還圖書(shū)刪除某一圖書(shū)
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
System.out.println("輸入歸還書(shū)id:");
book_id = sc.nextInt();
sql = "select * from Book where id=" + book_id;
rs = st.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String aut = rs.getString("aut");
int num = rs.getInt("num");
System.out.println("id=" + id + " name=" + name + " aut:" + aut + " num:" + num);
b_h = num;
}
b_h++;
sql1 = "UPDATE Book SET num=" + b_h + "WHERE id =" + book_id;
st.executeUpdate(sql1);
}catch (SQLException e){
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st, rs);
}
6.刪除某一圖書(shū)
try{
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
conn = DriverManager.getConnection(dbUL, Name, Paw);
st = conn.createStatement();
System.out.println("輸入刪除書(shū)id:");
book_id = sc.nextInt();
sql1 = "delete from Book where id=" + book_id;
st.executeUpdate(sql1);
}catch (SQLException e){
e.printStackTrace();
}finally{
JDBCUtil.release(conn, st, rs);
}
釋放連接: sql.T1.JDBCUtil.java
public static void release(Connection conn, Statement st, ResultSet rs)//當(dāng)rs不為空時(shí)
{
closeRs(rs);
closeSt(st);
closeConn(conn);
}
public static void release(Connection conn, Statement st)// 當(dāng)rs為空時(shí)
{
closeSt(st);
closeConn(conn);
}
6.運(yùn)行結(jié)果演示
sqlserver中的部分?jǐn)?shù)據(jù):

idea中的演示結(jié)果:
顯示書(shū)籍:

查找書(shū)籍及借出:

歸還書(shū)籍及刪除書(shū)籍:

總結(jié)
到此這篇關(guān)于利用java和sqlserver建立簡(jiǎn)易圖書(shū)管理系統(tǒng)的文章就介紹到這了,更多相關(guān)java和sqlserver圖書(shū)管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Cloud Eureka 服務(wù)上下線監(jiān)控的實(shí)現(xiàn)
這篇文章主要介紹了Spring Cloud Eureka 服務(wù)上下線監(jiān)控的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
解決SpringBoot在后臺(tái)接收前臺(tái)傳遞對(duì)象方式的問(wèn)題
這篇文章主要介紹了解決SpringBoot在后臺(tái)接收前臺(tái)傳遞對(duì)象方式的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Java實(shí)現(xiàn)一個(gè)達(dá)達(dá)租車(chē)系統(tǒng)的步驟詳解
這篇文章主要給大家介紹了利用Java實(shí)現(xiàn)一個(gè)達(dá)達(dá)租車(chē)系統(tǒng)的步驟,文中給出了詳細(xì)的實(shí)現(xiàn)思路和示例代碼,并在文末給出了完整的源碼供大家學(xué)習(xí)下載,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04
Java定時(shí)器通信協(xié)議管理模塊Timer詳解
這篇文章主要介紹了Java定時(shí)器通信協(xié)議管理模塊Timer,?Timer一般指定時(shí)器(通信協(xié)議管理模塊)人類(lèi)最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開(kāi)始嘗試使用這種全新的計(jì)時(shí)工具來(lái)改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的目的2022-08-08
Java原生方法實(shí)現(xiàn) AES 算法示例
這篇文章主要介紹了Java原生方法實(shí)現(xiàn) AES 算法,結(jié)合實(shí)例形式分析了Java實(shí)現(xiàn)AES加密算法的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Spring Cloud Stream分區(qū)分組原理圖解
這篇文章主要介紹了Spring Cloud Stream的分區(qū)和分組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
java springmvc 注冊(cè)中央調(diào)度器代碼解析
這篇文章主要介紹了java springmvc 注冊(cè)中央調(diào)度器代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
java.text.DecimalFormat類(lèi)十進(jìn)制格式化
這篇文章主要為大家詳細(xì)介紹了java.text.DecimalFormat類(lèi)十進(jìn)制格式化的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03

