利用java和sqlserver建立简易图书管理系统的完整步骤

目录
  • 1.所需功能:
  • 2.流程:
  • 3.环境及其语言:
  • 4.数据库建立
  • 5.操作:
    • 数据库连接:sql.T3.Test1.java
    • 选择需要的操作:sql.T3.Test1.java
      • 1.游览所有图书
      • 2.查找书籍
      • 3.建立新图书
      • 4借出图书
      • 5. 归还图书删除某一图书
      • 6.删除某一图书
    • 释放连接: sql.T1.JDBCUtil.java
  • 总结

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图书管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java+sqlserver实现学生信息管理系统

    目录 一.实现效果 二.实现代码 1.DBUtil.java 2.操作程序test.java 前提: 1.建立了与sqlserver数据库的连接 (JTDS连接sqlserver数据库的包jtds-1.2.7.jar) 2. 了解JDBC执行SQL的语法 一.实现效果 二.实现代码 1.DBUtil.java 说明:直接复制必然出错. 因为要连接自己的数据库,其中部分数据说明: Connection conn = getSQLConnection("192.168.223.1", &q

  • Java中调用SQL Server存储过程详解

    本文作者介绍了通过Java如何去调用SQL Server的存储过程,详解了5种不同的存储.详细请看下文 1.使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: 复制代码 代码如下: {call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程: 复制代码 代码如下: CREATE PROCEDURE G

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • java连接sql server 2008数据库代码

    Java连接SQLServer 2008数据库的步骤: 1.到微软官方下载jdbc 并解压,得到sqljdbc.jar和sqljdbc4.jar,由于使用的是JDK1.7,所以使用sqljdbc4.jar, 2.复制文件sqljdbc4.jar到jdk目录\jdk1.7.0\jre\lib\ext下. 配置系统变量classpath 变量路径 D:\Java\jdk1.7.0\jre\lib\ext\sqljdbc4.jar 测试程序: 复制代码 代码如下: import java.sql.*;

  • java连接SQL Server数据库的方法

    本文实例为大家分享了java连接SQL Server数据库的具体代码,供大家参考,具体内容如下 操作系统:windows 10 64位 java开发环境:MyEclipse 数据库:SQL Server 2012 JDBC驱动包 下载sqljdbc4.jar 导入到项目中 JAVA代码 package com.cl.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSt

  • 利用java和sqlserver建立简易图书管理系统的完整步骤

    目录 1.所需功能: 2.流程: 3.环境及其语言: 4.数据库建立 5.操作: 数据库连接:sql.T3.Test1.java 选择需要的操作:sql.T3.Test1.java 1.游览所有图书 2.查找书籍 3.建立新图书 4借出图书 5. 归还图书删除某一图书 6.删除某一图书 释放连接: sql.T1.JDBCUtil.java 总结 1.所需功能: 游览所有图书.查找书籍.建立新图书,借出和归还图书,删除某一图书 2.流程: 数据库连接 选择需要的操作 释放连接 3.环境及其语言:

  • 使用java springboot设计实现的图书管理系统(建议收藏)

    目录 前言 背景意义 数据库设计 功能截图 代码实现 前言 随着网络技术的发展.计算机应用水平广泛提高,原来系统的时效性.数据的正确性.操作的方便性上都存在不足,已影响到系统的正常使用.经过考察比较,决定自己对图书管理系统重新设计,使系统能利用软件开发技术的成果,方便图书的管理.图书管理系统是典型的信息管理系统.系统介绍了图书系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能.利用其提供的各种面向对象的开发工具首先在短时间内建立系统应用原型然后对初始原型系

  • python实现简易图书管理系统

    本文实例为大家分享了python实现简易图书管理系统的具体代码,供大家参考,具体内容如下 一.设计需求 1.添加书籍2.查询数据3.借书 存储方式 ,用excel保存到硬盘上或者用.txt文件保存 二.实现代码 1.用excel存储 # 一.介绍 # 主要功能实现 # 1.借书 # 2.添加新书 # 3.查找图书 # 数据存储:excel表 import xlwt import xlrd import xlutils.copy import os #book = {"位置":"

  • 如何利用Java AWT 创建一个简易计算器

    目录 一.关于AWT 二.逻辑部分 1.对于数字按钮 2.对于算术按钮 3.对于等号按钮 4.对于清除按钮 5.对于退格按钮 6.特殊插件功能 7.==例如==: 三.GIF演示 四.附完整代码 摘要:手把手教你使用 Java AWT 创建一个简易计算器. 一.关于AWT AWT (抽象窗口工具包)是一个有助于构建 GUI 的 API (图形用户界面)基于 java 应用程序.GUI使用一些图形帮助用户交互.它主要由一组的类和方法所必需的,如在一个简化的方式创建和管理的GUI按钮,窗口,框架,文

  • 利用Java手写一个简易的lombok的示例代码

    目录 1.概述 2.lombok使用方法 3.lombok原理解析 4.手写简易lombok 1.概述 在面向对象编程中,必不可少的需要在代码中定义对象模型,而在基于Java的业务平台开发实践中尤其如此.相信大家在平时开发中也深有感触,本来是没有多少代码开发量的,但是因为定义的业务模型对象比较多,而需要重复写Getter/Setter.构造器方法.字符串输出的ToString方法.Equals/HashCode方法等.我们都知道Lombok能够替大家完成这些繁琐的操作,但是其背后的原理很少有人会

  • 利用Java多线程技术导入数据到Elasticsearch的方法步骤

    前言 近期接到一个任务,需要改造现有从mysql往Elasticsearch导入数据MTE(mysqlToEs)小工具,由于之前采用单线程导入,千亿数据需要两周左右的时间才能导入完成,导入效率非常低.所以楼主花了3天的时间,利用java线程池框架Executors中的FixedThreadPool线程池重写了MTE导入工具,单台服务器导入效率提高十几倍(合理调整线程数据,效率更高). 关键技术栈 Elasticsearch jdbc ExecutorService\Thread sql 工具说明

  • 利用MySQL空间函数实现位置打卡的完整步骤

    前言 项目需求是跟用户当前位置判断是否在给定的地理位置范围内,符合位置限制才可以打卡,其中的位置范围是一个或多个不规则的多边形.如下图,判断用户是在清华还是北大. 图形获取区域坐标# 因为项目前端使用微信小程序的wx.getLocation获取地理位置,为了坐标的一致性,后台选取区域范围采用了腾讯地图的地理位置服务,在应用工具->绘制几何图形里,提供了点.线.多边形和圆形可以方便的选取看这里. 在官方提供的示例上稍加改动即可获取选定的位置坐标. 存储位置 取到坐标位置后,接着就是怎么存储? 开放

  • C#实现简单成绩管理系统的完整步骤

    前言 这周跟C#打了一周的交道(本周是学校安排的实验周,然后用到了C#实现想要的程序和功能) 一共七个实验,选择三个,我就选择我进步最大的一个来分析一下吧. 效果 先来看一下效果吧 从txt文本中读取数据后展示出来 点击目标后选中,然后点击"修改",弹出修改界面,然后进行编辑即可 点击"统计"按钮,弹出窗口显示各分数段的信息 点击"查询"后,弹出界面,输入后,点击"确定"即可显示信息 实现 一.准备工作 在写方法之前,首先就是

  • Java使用opencv识别二维码的完整步骤

    目录 前言 OpenCV的安装 开发环境配置 识别二维码 总结 前言 OpenCV的全称是Open Source Computer Vision Library,它是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用.OpenCV本身由C++语言开发,但也具有各种其他语言的接口,并支持windows.linux.ios.android等各种操作系统.本文将介绍如何使用OpenCV与Java语言进行二维码识别. OpenCV的安装 目前Op

  • 利用drone ci自动化部署静态博客的完整步骤

    目录 前言 准备 安装drone ci 1.docker-compose配置文件 2.docker-compose配置文件主要参数详解 drone server DRONE_SERVER_PROTO和DRONE_SERVER_HOST DRONE_RPC_SECRET DRONE_USER_CREATE DRONE_DATABASE_DRIVER DRONE_DATABASE_DATASOURCE DRONE_GITEE_CLIENT_ID和DRONE_GITEE_CLIENT_SECRET d

随机推荐