1. 安装mysql 安装navicate

参考网上资料

创库 创表 并放入3条测试数据

2. jdbc实现增删改查

book 实体类

package com.msb;

/**
* @Auther: jack.chen
* @Date: 2023/11/6 - 11 - 06 - 20:33
* @Description: com.msb
* @version: 1.0
*/
public class Book {
private int id;
private String name;
private String author;
private double price; public Book() {
} public Book(int id, String name, String author, double price) {
this.id = id;
this.name = name;
this.author = author;
this.price = price;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getAuthor() {
return author;
} public void setAuthor(String author) {
this.author = author;
} public double getPrice() {
return price;
} public void setPrice(double price) {
this.price = price;
} @Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", author='" + author + '\'' +
", price=" + price +
'}';
}
}

实现增删改查

package com.msb;

import javafx.beans.binding.When;

import java.sql.*;
import java.util.ArrayList;
import java.util.Scanner; /**
* @Auther: jack.chen
* @Date: 2023/11/6 - 11 - 06 - 20:27
* @Description: com.msb
* @version: 1.0
*/
public class Test { public static void main(String[] args) throws SQLException, ClassNotFoundException {
while (true){
System.out.println("--欢迎来到书城--");
System.out.println("1.数据编号查询书籍");
System.out.println("2.查询所有书籍");
System.out.println("3.删除指定编号书籍");
System.out.println("4.退出"); Scanner scanner = new Scanner(System.in);
System.out.println("请输入编号:"); int choice = scanner.nextInt();
if (choice==1){
System.out.println("请输出需要查询的书籍编号:"); int bno = scanner.nextInt();
Book b = getBookByNo(bno);
if (b==null){
System.out.println("您查询的书籍不存在");
}else{
System.out.println("查询成功!!!");
System.out.println(b);
} }
if (choice==2){
ArrayList books = getAllBooks();
if (books.size()==0){
System.out.println("书城里面没有书籍信息!");
}else{
System.out.println("查询成功:");
for (int i = 0; i < books.size(); i++) {
System.out.println(books.get(i));
}
}
}
if (choice==3){ }
if (choice==4){
System.out.println("退出...");
break;
} }
} public static Book getBookByNo(int bno) throws SQLException, ClassNotFoundException {
Book book = null;
//加载驱动:
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接:
String url = "jdbc:mysql://127.0.0.1:3306/mysql?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
//创建会话:
Statement sta = conn.createStatement();
//发送SQL:ResultSet结果集合 - 结果集
ResultSet rs = sta.executeQuery("select * from t_book where id = " + bno); if(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String author = rs.getString("Author");
double price = rs.getDouble("price");
book = new Book(id, name, author, price);
} sta.close();
conn.close(); return book;
} public static ArrayList getAllBooks() throws ClassNotFoundException, SQLException {
//加载驱动:
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接:
String url = "jdbc:mysql://127.0.0.1:3306/mysql?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
//创建会话:
Statement sta = conn.createStatement();
//发送SQL:ResultSet结果集合 - 结果集
ResultSet rs = sta.executeQuery("select * from t_book"); ArrayList<Book> books = new ArrayList<>();
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String author = rs.getString("Author");
double price = rs.getDouble("price");
Book book = new Book(id, name, author, price);
books.add(book);
} return books; }
}

运行结果

java项目实战-jdbc实现-书城的增删改查-day21的更多相关文章

  1. Java通过JDBC进行简单的增删改查(以MySQL为例)

    Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...

  2. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  3. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  4. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  5. Java Web项目案例之---登录注册和增删改查(jsp+servlet)

    登录注册和增删改查(jsp+servlet) (一)功能介绍 1.用户输入正确的密码进行登录 2.新用户可以进行注册 3.登录后显示学生的信息表 4.可以添加学生 5.可以修改学生已有信息 6.可以删 ...

  6. java使用原生MySQL实现数据的增删改查以及数据库连接池技术

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: <dependency> <groupId> ...

  7. java程序设计课期中考试——数据库的增删改查和简单的js界面

    首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他 ...

  8. Node+Express+node-mysql 实战于演习 全套mysql(增删改查)

    最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...

  9. 通过JDBC进行简单的增删改查(以MySQL为例)

    目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 ( ...

  10. 通过JDBC进行简单的增删改查(二)

    本章笔记更易理解和学习,也是我第一次初学的笔记. package javastudy; import java.sql.Connection; import java.sql.DriverManage ...

随机推荐

  1. ubuntu 20.04安装mysql5.7

    ubuntu 22.04系统安装mysql5.7 一.查看系统默认安装的数据库版本 apt-get update apt-cache policy mysql-server ubuntu 20.04自 ...

  2. Codeforces #449 div2 C题

    C. Nephren gives a riddle time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  3. 【C++】关于引用类型学习记录

    学习模板(泛型)的时候针对定义为引用类型有些费解 1 class BigType { 2 // 假设这里有大量的数据和复杂的操作 3 }; 4 5 template <typename T> ...

  4. 【云原生 | Kubernetes 系列】—K8S部署RocketMQ集群(双主双从+同步模式)

    [云原生 | Kubernetes 系列]-K8S部署RocketMQ集群(双主双从+同步模式) 版权 本文为云录原创文章,转载无需和我联系,但请注明来自云录 https://www.yunzhuan ...

  5. MyBatis 的缓存处理

    作为常见的 ORM 框架,在使用 MyBatis 的过程中可以针对相关的查询进行缓存处理以提高查询的性能.本文将简要介绍一下 MyBatis 中默认的一级缓存和二级缓存,以及自定义缓存的处理 MyBa ...

  6. 【scikit-learn基础】--『监督学习』之 均值聚类

    聚类算法属于无监督学习,其中最常见的是均值聚类,scikit-learn中,有两种常用的均值聚类算法:一种是有名的K-means(也就是K-均值)聚类算法,这个算法几乎是学习聚类必会提到的算法:另一个 ...

  7. 2023-10-28:用go语言,给定一个n*m的二维矩阵,每个位置都是字符, U、D、L、R表示传送带的位置,会被传送到 : 上、下、左、右, . 、O分别表示空地、目标,一定只有一个目标点, 可以

    2023-10-28:用go语言,给定一个n*m的二维矩阵,每个位置都是字符, U.D.L.R表示传送带的位置,会被传送到 : 上.下.左.右, . .O分别表示空地.目标,一定只有一个目标点, 可以 ...

  8. 618狂欢结束,来聊聊华为云GaussDB NoSQL的蓬勃张力

    又到了一年一度的 618大促的时候,随着近十年网上购物的兴起,各大平台在不同的时期推出各种购物促销活动,极大的促进了消费,刺激了市场.同样,在科技领域,为了支撑突然而来的高并发,支持千万人同时在线浏览 ...

  9. Python压缩JS文件,重点是 slimit

    摘要:Python Web程序员必看系列,学习如何压缩 JS 代码. 本文分享自华为云社区<Python压缩JS文件,PythonWeb程序员必看系列,重点是 slimit>,作者: 梦想 ...

  10. vue3,对比 vue2 有什么优点?

    摘要:Vue3新版本的理念成型于 2018 年末,当时的 Vue 2 已经有两岁半了.比起通用软件的生命周期来这好像也没那么久,Vue3在2020年正式推出,在源码和API都有较大变化,性能得到了显著 ...