ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【无标题】

2021-12-04 22:32:47  阅读:110  来源: 互联网

标签:rs System stmt sc 无标题 println out


在图书信息表的基础上实现对图书信息的增删改查操作。
1.创建一个管理员信息表
2.根据管理员信息表实现登录功能
3.登录成功后跳转到循环菜单,通过功能菜单选项完成对book图书表的增删改查操作:
图书编号 图书名称 价格 作者 出版社 出版日期 数量
(1)查询所有图书
(2)根据图书编号查询
(3)添加新图书
(4)根据编号修改图书信息
(5)根据编号删除图书

package com.coffcn;

import com.coffcn.util.JDBCUtils;
import com.sun.org.apache.bcel.internal.generic.NEW;
import jdk.nashorn.internal.scripts.JD;

import javax.xml.transform.Result;
import java.sql.*;
import java.util.Scanner;

//2.根据管理员信息表实现登录功能
public class login {
   private static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) throws SQLException {
        JDBCUtils utils = new JDBCUtils();
        Connection conn = utils.getConn();

        System.out.println("请输入用户名");
        String username = sc.nextLine();
        System.out.println("请输入密码");
        String password = sc.nextLine();
        String sql="select * from libadmin where username=? and pws=?";
        PreparedStatement stmt = conn.prepareStatement(sql);
        //给占位符赋值
        stmt.setString(1,username);
        stmt.setString(2,password);
        //执行sql
        ResultSet rs=stmt.executeQuery();
        //判断是否有值
        if (rs.next()){
            System.out.println("登录成功");
            libEnum();
        }else{
            System.out.println("登录失败");
        }
    }
    //0.退出系统
    private static void exit(){
        System.out.println("正在退出。。。");

        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
 //5.删除图书
    private static void deleteBook() {
        //获取连接
        Connection conn = JDBCUtils.getConn();
        PreparedStatement stmt=null;
        System.out.println("请输入要删除的图书编号");
        int id=Integer.parseInt(sc.nextLine());
        System.out.println("是否要删除 Y/N");
        String flag = sc.nextLine();
        try {
//2:获取通道
            stmt = conn.prepareStatement("delete from book where id = ?");
                    stmt.setInt(1,id);
//3:执行sql
            if("y".equalsIgnoreCase(flag)){
                int num = stmt.executeUpdate();
//4:处理结果
                if(num > 0){
                    System.out.println("删除成功");
                }else {
                    System.out.println("删除失败");
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils.closeAll(null,stmt,conn);
        }
    }
//4.修改图书信息
    private static void updateBook() {
        //查询需要修改图书的信息
        selectAllBook();
        //获取连接
        Connection conn = JDBCUtils.getConn();
        PreparedStatement stmt=null;
        ResultSet rs=null;
        String sql="update book set bname=?,price=?,author=?,home=?,date=?,number=? where id=?";
        try {
            stmt = conn.prepareStatement(sql);

            System.out.println("请输入图书名称");
            stmt.setString(1,sc.nextLine());

            System.out.println("请输入价格");
            stmt.setDouble(2, Double.parseDouble(sc.nextLine()));

            System.out.println("请输入作者");
            stmt.setString(3,sc.nextLine());

            System.out.println("请输入出版社");
            stmt.setString(4,sc.nextLine());

            System.out.println("请输入出版日期");
            stmt.setDate(5, Date.valueOf(sc.nextLine()));

            System.out.println("请输入数量");
            stmt.setInt(6,sc.nextInt());

            System.out.println("请输入图书编号");
            stmt.setInt(7,sc.nextInt());

            //执行sql
            int num = stmt.executeUpdate();
            if (num>0){
                System.out.println("修改成功");
            }else{
                System.out.println("修改失败");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils.closeAll(null,stmt,conn);
        }
    }
//3.添加新图书
    private static void addNewBook() {
        //获取连接
        Connection conn = JDBCUtils.getConn();
        PreparedStatement stmt=null;
        //图书编号\t图书名称\t价格\t作者\t出版社\t出版日期\t数量"
        String sql="insert into book values(?,?,?,?,?,?,?)";
        try {
            stmt = conn.prepareStatement(sql);

            System.out.println("请输入图书编号");
            stmt.setInt(1,sc.nextInt());

            System.out.println("请输入图书名称");
            stmt.setString(2,sc.nextLine());



            System.out.println("请输入价格");
            stmt.setDouble(3, Double.parseDouble(sc.nextLine()));

            System.out.println("请输入作者");
            stmt.setString(4,sc.nextLine());

            System.out.println("请输入出版社");
            stmt.setString(5,sc.nextLine());

            System.out.println("请输入出版日期");
            stmt.setDate(6, Date.valueOf(sc.nextLine()));

            System.out.println("请输入数量");
         stmt.setInt(7,sc.nextInt());
         //执行sql
            int num=stmt.executeUpdate();
            if (num>0){
                System.out.println("插入成功");
            }else{
                System.out.println("插入失败");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils.closeAll(null,stmt,conn);
        }
    }
//2.根据编号查询
    private static void selectOneBook() {
        selectAllBook();
        //1:获取连接
        Connection conn = JDBCUtils.getConn();
        PreparedStatement stmt = null;
        ResultSet rs = null;
        System.out.println("请输入您要查询的编号");
        int id = Integer.parseInt(sc.nextLine());
        try {
            //2:获取通道
            stmt = conn.prepareStatement("select * from book where id=?");
            stmt.setInt(1, id);
            //3:执行sql
            rs = stmt.executeQuery();
           if(rs.next()) {
                int no = rs.getInt(1);
                String bname = rs.getString(2);
                double price = rs.getDouble(3);
                String author = rs.getString(4);
                String home = rs.getString(5);
                Date date = rs.getDate(6);
                int number = rs.getInt(7);
                System.out.println(no + "\t" + bname + "\t" + price + "\t" + author + "\t" + home + "\t" + date + "\t" + number);
            }else{
                System.err.println("查无此书");
                }
            }catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.closeAll(rs, stmt, conn);
        }
    }



   //1.查询所有图书
    private static void selectAllBook() {
        //1.获取连接
        Connection conn = JDBCUtils.getConn();
        PreparedStatement stmt=null;
        ResultSet rs=null;
        try {
            //获取通道
             stmt = conn.prepareStatement("select * from book");
            //执行sql
              rs = stmt.executeQuery();
              //处理结果
            System.out.println("图书编号\t图书名称\t价格\t作者\t出版社\t出版日期\t数量");
            while(rs.next()){
                int id = rs.getInt(1);
                String bname = rs.getString(2);
                double price = rs.getDouble(3);
                String author = rs.getString(4);
                String home = rs.getString(5);
                Date date = rs.getDate(6);
                int number = rs.getInt(7);
                System.out.println(id+"\t"+bname+"\t"+price+"\t"+author+"\t"+home+"\t"+date+"\t"+number);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils.closeAll(rs,stmt,conn);
        }
    }
    public static void libEnum(){
        Scanner sc1 = new Scanner(System.in);
        System.out.println("--------------欢迎来到图书管理系统---------");
        System.out.println("--------------1.查询所有图书--------------");
        System.out.println("--------------2.根据编号查询--------------");
        System.out.println("--------------3.添加新图书----------------");
        System.out.println("--------------4.修改图书信息--------------");
        System.out.println("--------------5.删除图书------------------");
        System.out.println("--------------0.退出系统------------------");
        System.out.println("请选择您需要的操作");
        String i = sc1.nextLine();
        switch (i){
            case "1":selectAllBook();libEnum();break;
            case "2":selectOneBook();libEnum();break;
            case "3":addNewBook();libEnum();break;
            case "4":updateBook();libEnum();break;
            case "5":deleteBook();libEnum();break;
            case "0":exit();libEnum();break;
        }
    }
}

标签:rs,System,stmt,sc,无标题,println,out
来源: https://blog.csdn.net/m0_47378318/article/details/121722867

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有