利用java和sqlserver建立简易图书管理系统的完整步骤
1.所需功能:
游览所有图书、查找书籍、建立新图书,借出和归还图书,删除某一图书
2.流程:
数据库连接
- 选择需要的操作
- 释放连接
3.环境及其语言:
Idea,JDK13,驱动包Microsoft JDBC Driver 8.2.2 for SQL Server
4.数据库建立
- 数据库:sqlserver2019
- Database:library
- Table:Book
- Book:书籍编号,书籍名称,书籍作者,库存量
- 管理员名:sa
- 密码:123456
5.操作:
数据库连接:sql.T3.Test1.java
官网下载驱动包Microsoft JDBC Driver 8.2.2 for SQL Server并加载到程序中。
//注册驱动 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.游览所有图书
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.查找书籍
try{ DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); conn = DriverManager.getConnection(dbUL, Name, Paw); st = conn.createStatement(); System.out.println("查找方式:1.按编号查找;2.按书名查找;3.按作者查找;4.放弃操作;"); b_h2 = sc.nextInt(); f_l = true; switch (b_h2){ case 1: System.out.println("输入书籍编号:"); book_num = sc.nextInt(); sql1 = "select * from Book where id=" + book_num; break; case 2: System.out.println("输入书籍名称:"); book_name = sc.next(); sql1 = "select * from Book where name='" + book_name + "'"; break; case 3: System.out.println("输入书籍作者:"); 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("对象已放弃操作"); }catch (SQLException e){ e.printStackTrace(); }finally{ JDBCUtil.release(conn, st, rs); }
3.建立新图书
try{ DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); conn = DriverManager.getConnection(dbUL, Name, Paw); st = conn.createStatement(); System.out.println("书籍导入:请依次输入书籍的编号、书名、作者和导入数量:"); 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借出图书
try{ DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); conn = DriverManager.getConnection(dbUL, Name, Paw); st = conn.createStatement(); System.out.println("查找方式:1.按编号查找;2.按书名查找;3.按作者查找;4.放弃操作;"); b_h2 = sc.nextInt(); f_l = true; switch (b_h2){ case 1: System.out.println("输入书籍编号:"); book_num = sc.nextInt(); sql1 = "select * from Book where id=" + book_num; break; case 2: System.out.println("输入书籍名称:"); book_name = sc.next(); sql1 = "select * from Book where name='" + book_name + "'"; break; case 3: System.out.println("输入书籍作者:"); 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("确认借出:确认:1,取消:2"); b_h2 = sc.nextInt(); if (b_h2 == 1){ if (b_h == 0) System.out.println("馆藏书目为0,无法借出"); 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("对象已放弃操作"); }catch (SQLException e) { e.printStackTrace(); }finally{ JDBCUtil.release(conn, st, rs); }
5. 归还图书删除某一图书
try{ DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); conn = DriverManager.getConnection(dbUL, Name, Paw); st = conn.createStatement(); System.out.println("输入归还书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.删除某一图书
try{ DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver()); conn = DriverManager.getConnection(dbUL, Name, Paw); st = conn.createStatement(); System.out.println("输入删除书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)//当rs不为空时 { closeRs(rs); closeSt(st); closeConn(conn); } public static void release(Connection conn, Statement st)// 当rs为空时 { closeSt(st); closeConn(conn); }
6.运行结果演示
sqlserver中的部分数据:
idea中的演示结果:
显示书籍:
查找书籍及借出:
归还书籍及删除书籍:
总结
到此这篇关于利用java和sqlserver建立简易图书管理系统的文章就介绍到这了,更多相关java和sqlserver图书管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解spring security之httpSecurity使用示例
这篇文章主要介绍了详解spring security之httpSecurity使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-08-08解决idea不支持SpringBoot yml文件的图文教程
这篇文章主要介绍了解决idea不支持SpringBoot yml文件,需要的朋友可以参考下2018-06-06有关IntelliJ IDEA中LeetCode插件配置问题
这篇文章主要介绍了关于IntelliJ IDEA中LeetCode插件配置问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08Spring Boot整合Spring Cache及Redis过程解析
这篇文章主要介绍了Spring Boot整合Spring Cache及Redis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-12-12
最新评论