python图书管理系统增删改查_图书管理系统---增删改查
此代码只考虑正确情况,未判断错误情况
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图书管理系统增删改查_图书管理系统---增删改查相关推荐
- python成绩管理系统源码下载_成绩管理系统.py
#!/usr/bin/env python #coding:utf-8 __author__='guolimin' ''' 实现简单成绩管理系统 1.添加成绩 -> 添加界面 2.修改成绩 3. ...
- 光亮剂与增亮剂_新型增光增亮剂(配方)
新型塑料增光剂其产品特性是光亮效能优异而持久.不轻易被抹去.在产品表面快速形成光滑膜:不降低·不破坏产品的原有性能和物理性能以及产品在二次加工的性能.新型塑料增光剂其本身热稳定性及分散性就特别优异.在 ...
- python图书管理系统增删改查_固定资产管理系统,高效管理企业资产
固定资产管理系统是面向资产密集型单位信息化解决方案的总称,是一款通用性极强的管理软件,能够对单位所有的固定资产进行全方位掌控,并规范其管理流程,适用于企业.机关.学校.医院等单位.系统围绕固定资产的& ...
- 图书管理系统C语言程序设计课程,vs c语言图书管理平台课程设计_图书管理平台c语言程序设计_c语言课程设计 图书管理系统...
#include #include #include #include //#include #define MAX 100 struct Student { int num;/*书代号*/ char ...
- java增删改查_只会增删改查的Java程序员该如何发展
首先,对于当前的Java程序员来说,要想在软件开发领域走得更远,应该做好三件事,其一是为自己设定一个主攻方向,其二是根据自身的知识基础和能力特点来制定学习计划,其三是注重行业发展趋势,积极拥抱新技术. ...
- python通讯录管理程序的用户可行性_通讯录管理系统项目可行性分析
通讯录管理系统可行性 分析报告 一.可行性研究报告 .................................................................. 错 误!未定义 ...
- python名片管理器实验报告_名片管理系统——实验报告.doc
名片管理系统--实验报告 网上名片管理系统 数据库和表的建立:(在MySQL中创建数据库test,并在test数据库中建立card.user和recycle表格,其中card和recycle具有相同的 ...
- python超市管理系统实训报告_超市管理系统实验报告范文
超市管理系统实验报告 一.背景 现在, 我们身边到处都是超市, 而这些超市很多都是小型超市, 在这些超市 里,实行的还是人工管理,管理方式混乱,工作效率低下,管理成本也比较高, 还不能及时的得到货物信 ...
- python学生成绩管理系统实验报告心得_成绩管理系统心得体会(精选多篇)
) 1 / 14 成绩管理系统心得 ( 精选多篇 ) 第一篇:成绩管理系统心得 学生成绩管理系统是一功能十分強大的管理系统,它集各种功用 于一身,可以完成教学中的各种操作,如对学生的成绩的添加 . 删 ...
最新文章
- 手机芯片谁是AI之王?高通、联发科均超华为
- mac git安装及github配置
- 查看Flink的Job Graph时的问题
- bond-vlan-bridge
- 妙味课堂——HTML+CSS(第一课)
- python数字字符是什么_大佬们,想问一下Python中特殊字符的代码是什么啊,只知道数字是digits...
- boost::fusion::as_vector用法的测试程序
- Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)
- vmware虚拟机安装win7_图文分享虚拟机怎么安装win7系统
- 聚划算的夜场新生意 “三叉戟”打通夜间消费命脉
- call和apply;this;闭包
- 使用vSAN RVC进一步了解vSAN环境
- [转] 为什么用原型,为什么用闭包
- SLAM_SLAM问题求解框架
- 查看工作日志Linux,工作日志,Linux的表现还是不错的
- Ansys DesignModeler
- ELMO驱动器与nanotec电机通过compser软件调试PID参数的方式
- 读书笔记《蛤蟆先生去看心理医生》
- 微信公众号网页开发和小程序开发之路
- animation 详细讲解
热门文章
- vue中的状态管理 vuex store
- POJ 3694Network(Tarjan边双联通分量 + 缩点 + LCA并查集维护)
- winafl 源码分析
- 无限递归替换文件内的某个字符串
- 一周死磕fastreport ----ASP.NET (二)
- 【京东个人中心】——Nodejs/Ajax/HTML5/Mysql爬坑之注册与登录监听
- Chapter 3 Phenomenon——6
- js方法的使用(z)
- C语言数据结构各种排序算法(选择,直接,希尔,起泡等排序)
- Windows下安装和配置Maven的方法及注意事项