利用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)文章
SpringBoot 導(dǎo)出數(shù)據(jù)生成excel文件返回方式
這篇文章主要介紹了SpringBoot 導(dǎo)出數(shù)據(jù)生成excel文件返回方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Java?ASM使用logback日志級(jí)別動(dòng)態(tài)切換方案展示
這篇文章主要介紹了Java?ASM使用logback日志級(jí)別動(dòng)態(tài)切換方案展示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Netty分布式server啟動(dòng)流程N(yùn)io創(chuàng)建源碼分析
這篇文章主要介紹了Netty分布式server啟動(dòng)流程N(yùn)io創(chuàng)建源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Maven+SSM框架實(shí)現(xiàn)簡(jiǎn)單的增刪改查
這篇文章主要介紹了Maven+SSM框架實(shí)現(xiàn)簡(jiǎn)單的增刪改查,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03java 數(shù)據(jù)類(lèi)型有哪些取值范圍多少
這篇文章主要介紹了java 數(shù)據(jù)類(lèi)型有哪些取值范圍多少的相關(guān)資料,網(wǎng)上關(guān)于java 數(shù)據(jù)類(lèi)型的資料有很多,不夠全面,這里就整理下,需要的朋友可以參考下2017-01-01Java編程實(shí)現(xiàn)時(shí)間和時(shí)間戳相互轉(zhuǎn)換實(shí)例
這篇文章主要介紹了什么是時(shí)間戳,以及Java編程實(shí)現(xiàn)時(shí)間和時(shí)間戳相互轉(zhuǎn)換實(shí)例,具有一定的參考價(jià)值,需要的朋友可以了解下。2017-09-09