图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,下面这篇文章主要给大家介绍了关于利用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图书管理系统内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:利用java和sqlserver建立简易图书管理系统的完整步骤
基础教程推荐
猜你喜欢
- Java实现线程插队的示例代码 2022-09-03
- springboot自定义starter方法及注解实例 2023-03-31
- Java实现查找文件和替换文件内容 2023-04-06
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- Java文件管理操作的知识点整理 2023-05-19
- java实现多人聊天系统 2023-05-19
- Java数据结构之对象比较详解 2023-03-07
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Java并发编程进阶之线程控制篇 2023-03-07
- java基础知识之FileInputStream流的使用 2023-08-11