此代码只考虑正确情况,未判断错误情况

package dboperate;

import java.util.Scanner;

import model.BookDB;

import dboperate.ConnectionMC;

public class MainClassDB {

public MainClassDB()

{

Scanner scanner = new Scanner(System.in);

while(true)

{

System.out.println("欢迎进入图书管理系统!");

System.out.println("添加新书————————————1");

System.out.println("删除图书————————————2");

System.out.println("修改图书————————————3");

System.out.println("查询图书————————————4");

System.out.println("退出系统————————————5");

int chioce = scanner.nextInt();

if(chioce == 5)

{

System.out.println("系统退出了!");

break;

}

switch(chioce)

{

case 1 : addBook();

break;

case 2 : deleteBook();

break;

case 3 : updateBook();

break;

case 4 : printAllBook();

break;

}

}

}

public void addBook()

{

Scanner scanner = new Scanner(System.in);

System.out.println("请输入需要添加的书名:");

String bookname = scanner.nextLine();

System.out.println("请输入需要添加的图书ID:");

String id = scanner.nextLine();

System.out.println("请输入需要添加的图书价格:");

Double price = scanner.nextDouble();

System.out.println("请输入需要添加的图书作者:");

String writer = scanner.next();

BookDB book = new BookDB(bookname,id,price,writer);

ConnectionMC connectionmc = new ConnectionMC();

connectionmc.addBook(book);

connectionmc.printAllBook();

}

public void deleteBook()

{

Scanner scanner = new Scanner(System.in);

System.out.println("请输入你要删除的书名");

String bookName = scanner.nextLine();

ConnectionMC connectionmc = new ConnectionMC();

connectionmc.deleteBook(bookName);

connectionmc.printAllBook();

}

public void updateBook()

{

System.out.println("请输入你要修改的书名");

Scanner scanner = new Scanner(System.in);

String oldBookName = scanner.nextLine();

ConnectionMC connectionmc = new ConnectionMC();

System.out.println("请输入新书名:");

String newBookName = scanner.nextLine();

System.out.println("请输入新ID:");

String newId = scanner.nextLine();

System.out.println("请输入新价格:");

double newprice = scanner.nextDouble();

System.out.println("请输入新书作者:");

String newwriter = scanner.next();

BookDB newbook = new BookDB(newBookName,newId,newprice,newwriter);

connectionmc.updateBook(oldBookName,newbook);

System.out.println("修改成功!");

connectionmc.printAllBook();

}

public void printAllBook()

{

ConnectionMC connectionmc = new ConnectionMC();

connectionmc.printAllBook();

}

public static void main(String agrs[])

{

new MainClassDB();

}

}

package dboperate;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import model.BookDB;

public class ConnectionMC {

static final String url = "jdbc:mysql://localhost:3306/booklist?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";

static final String name = "com.mysql.cj.jdbc.Driver";

static final String user = "root";

static final String password = "13060228428";

static //静态代码段会在类被加载时自动执行一次

{

try

{

Class.forName(name);

System.out.println("链接成功!");

}

catch(ClassNotFoundException cE)

{

System.out.println("Class Not Found Exception:"+cE.toString());

}

}

public static Connection getConnection()

{

try {

return DriverManager.getConnection(url, user, password);

} catch (SQLException e) {

e.printStackTrace();

return null;

}

}

public static void closeConnection(ResultSet rs,Statement statement,Connection conn)

{

try {

if(rs!=null)rs.close();

if(statement!=null)statement.close();

if(conn!=null)conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public static void closeConnection(Statement statement,Connection conn)

{

closeConnection(null,statement,conn);

}

public void addBook(BookDB book)

{

Connection conn = ConnectionMC.getConnection();

String sql = "insert into booklist(bookname,id,price,writer) values(?,?,?,?)";

PreparedStatement psmt;

try {

psmt = conn.prepareStatement(sql);

psmt.setString(1, BookDB.getBookName());

psmt.setString(2, BookDB.getId());

psmt.setDouble(3, BookDB.getPrice());

psmt.setString(4, BookDB.getwriter());

psmt.execute();

ConnectionMC.closeConnection(psmt, conn);

} catch (SQLException e1) {

e1.printStackTrace();

}

}

public void updateBook(String oldBookName,BookDB newbook)

{

Connection conn = ConnectionMC.getConnection();

String sql ="UPDATE booklist SET bookname='"+BookDB.getBookName()+"',id='"+BookDB.getId()+

"',price='"+BookDB.getPrice()+"',writer='"+BookDB.getwriter()+"'WHERE bookname='"+oldBookName+"'";

PreparedStatement psmt=null;

try {

psmt = conn.prepareStatement(sql);

psmt.executeUpdate(sql);

ConnectionMC.closeConnection(psmt, conn);

} catch (SQLException e) {

e.printStackTrace();

}

}

public void deleteBook(String bookName)

{

Connection conn = ConnectionMC.getConnection();

String sql = "delete from booklist where bookName=?";

try {

PreparedStatement psmt = conn.prepareStatement(sql);

psmt.setString(1,bookName);

psmt.execute();

ConnectionMC.closeConnection(psmt, conn);

} catch (SQLException e) {

e.printStackTrace();

}

}

public void printAllBook()

{

try

{

Connection conn = ConnectionMC.getConnection();

Statement s = conn.createStatement();

String sql = "select * from booklist";

ResultSet rs = s.executeQuery(sql);

while (rs.next())

{

String bookname = rs.getString(1);

String id = rs.getString(2);

Double price = rs.getDouble(3);

String writer = rs.getString(4);

System.out.println("bookname:" + bookname + ", id:" + id + ", price:" + price+", wirter:"+ writer);

}

ConnectionMC.closeConnection(rs, s, conn);

} catch (SQLException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

}

}

package model;

public class BookDB {

private static String bookName;

private static String id;

private static String writer;

private static Double price;

public BookDB(String bookName,String id,Double price,String writer)

{

BookDB.bookName = bookName;

BookDB.id = id;

BookDB.price = price;

BookDB.writer = writer;

}

public static String getId()

{

return id;

}

public void setId(String id)

{

BookDB.id = id;

}

public static String getBookName()

{

return bookName;

}

public void setBookName(String bookName)

{

BookDB.bookName = bookName;

}

public static Double getPrice()

{

return price;

}

public void setPrice(Double price)

{

BookDB.price = price;

}

public void setwriter(String writer)

{

BookDB.writer=writer;

}

public static String getwriter()

{

return writer;

}

public String toString()

{

return(bookName+","+id+","+price+","+writer);

}

}

python图书管理系统增删改查_图书管理系统---增删改查相关推荐

  1. python成绩管理系统源码下载_成绩管理系统.py

    #!/usr/bin/env python #coding:utf-8 __author__='guolimin' ''' 实现简单成绩管理系统 1.添加成绩 -> 添加界面 2.修改成绩 3. ...

  2. 光亮剂与增亮剂_新型增光增亮剂(配方)

    新型塑料增光剂其产品特性是光亮效能优异而持久.不轻易被抹去.在产品表面快速形成光滑膜:不降低·不破坏产品的原有性能和物理性能以及产品在二次加工的性能.新型塑料增光剂其本身热稳定性及分散性就特别优异.在 ...

  3. python图书管理系统增删改查_固定资产管理系统,高效管理企业资产

    固定资产管理系统是面向资产密集型单位信息化解决方案的总称,是一款通用性极强的管理软件,能够对单位所有的固定资产进行全方位掌控,并规范其管理流程,适用于企业.机关.学校.医院等单位.系统围绕固定资产的& ...

  4. 图书管理系统C语言程序设计课程,vs c语言图书管理平台课程设计_图书管理平台c语言程序设计_c语言课程设计 图书管理系统...

    #include #include #include #include //#include #define MAX 100 struct Student { int num;/*书代号*/ char ...

  5. java增删改查_只会增删改查的Java程序员该如何发展

    首先,对于当前的Java程序员来说,要想在软件开发领域走得更远,应该做好三件事,其一是为自己设定一个主攻方向,其二是根据自身的知识基础和能力特点来制定学习计划,其三是注重行业发展趋势,积极拥抱新技术. ...

  6. python通讯录管理程序的用户可行性_通讯录管理系统项目可行性分析

    通讯录管理系统可行性 分析报告 一.可行性研究报告 .................................................................. 错 误!未定义 ...

  7. python名片管理器实验报告_名片管理系统——实验报告.doc

    名片管理系统--实验报告 网上名片管理系统 数据库和表的建立:(在MySQL中创建数据库test,并在test数据库中建立card.user和recycle表格,其中card和recycle具有相同的 ...

  8. python超市管理系统实训报告_超市管理系统实验报告范文

    超市管理系统实验报告 一.背景 现在, 我们身边到处都是超市, 而这些超市很多都是小型超市, 在这些超市 里,实行的还是人工管理,管理方式混乱,工作效率低下,管理成本也比较高, 还不能及时的得到货物信 ...

  9. python学生成绩管理系统实验报告心得_成绩管理系统心得体会(精选多篇)

    ) 1 / 14 成绩管理系统心得 ( 精选多篇 ) 第一篇:成绩管理系统心得 学生成绩管理系统是一功能十分強大的管理系统,它集各种功用 于一身,可以完成教学中的各种操作,如对学生的成绩的添加 . 删 ...

最新文章

  1. 手机芯片谁是AI之王?高通、联发科均超华为
  2. mac git安装及github配置
  3. 查看Flink的Job Graph时的问题
  4. bond-vlan-bridge
  5. 妙味课堂——HTML+CSS(第一课)
  6. python数字字符是什么_大佬们,想问一下Python中特殊字符的代码是什么啊,只知道数字是digits...
  7. boost::fusion::as_vector用法的测试程序
  8. Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)
  9. vmware虚拟机安装win7_图文分享虚拟机怎么安装win7系统
  10. 聚划算的夜场新生意 “三叉戟”打通夜间消费命脉
  11. call和apply;this;闭包
  12. 使用vSAN RVC进一步了解vSAN环境
  13. [转] 为什么用原型,为什么用闭包
  14. SLAM_SLAM问题求解框架
  15. 查看工作日志Linux,工作日志,Linux的表现还是不错的
  16. Ansys DesignModeler
  17. ELMO驱动器与nanotec电机通过compser软件调试PID参数的方式
  18. 读书笔记《蛤蟆先生去看心理医生》
  19. 微信公众号网页开发和小程序开发之路
  20. animation 详细讲解

热门文章

  1. vue中的状态管理 vuex store
  2. POJ 3694Network(Tarjan边双联通分量 + 缩点 + LCA并查集维护)
  3. winafl 源码分析
  4. 无限递归替换文件内的某个字符串
  5. 一周死磕fastreport ----ASP.NET (二)
  6. 【京东个人中心】——Nodejs/Ajax/HTML5/Mysql爬坑之注册与登录监听
  7. Chapter 3 Phenomenon——6
  8. js方法的使用(z)
  9. C语言数据结构各种排序算法(选择,直接,希尔,起泡等排序)
  10. Windows下安装和配置Maven的方法及注意事项