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. Logistics Regression (对数几率回归)及numpy实现

    Logistics Regression 我们知道线性回归模型可以处理回归问题,但是如何处理分类问题? 对于一个二分类问题,或许我们可以认为w*x+b > 0为正类,其他情况为负类. 那么模型不 ...

  2. ElasticSearch之Exists API

    检查指定名称的索引是否存在. 命令样例如下: curl -I "https://localhost:9200/testindex_002?pretty" --cacert $ES_ ...

  3. 当创建一个ingress后,kubernetes会发什么?

    本文分享自华为云社区<当创建一个ingress后,kubernetes会发什么?>,作者:可以交个朋友. 一.Ingress概述 Ingress是一组路由转发规则合集,将集群内部服务通过7 ...

  4. 永久免费!国产操作系统 Deepin V20 Beta版发布(附安装教程)

    深度操作系统(DEEPIN)是武汉深之度科技有限公司致力于为全球用户提供美观易用.安全可靠的Linux发行版.经过一段时间的测试,这款操作系统的Beta版终于今天和大家见面了.这次Deepin v20 ...

  5. elasticsearch oom问题分析

    背景 线上发现elasticsearch集群状态red,并且有个es节点jvm内存使用不断升高,直到gc后依然内存不够使用,服务停止.查看日志,elasticsearch出现OOM报错. [2023- ...

  6. Python脚本猜解网站登录密码(带token验证)

    目录: 关键代码解释 设置请求头 get_token函数获取token值 完整代码: 运行结果: 上一篇文章:一个简单的Python暴力破解网站登录密码脚本 测试靶机为Pikachu漏洞练习平台暴力破 ...

  7. DVWA SQL Injection(blind)(SQL盲注)全等级

    SQL Injection(blind)(盲注) 目录: SQL Injection(blind)(盲注) 1. Low 2.Medium 3.High 4.Impossible 5.运用sqlmap ...

  8. linux中创建用户组

    1.打开终端并以 root 用户身份登录到 Linux 系统. 2.运行以下命令以创建一个用户组: sudo groupadd group_name 将 "group_name" ...

  9. 监控cpu高的进程shell

    #!/bin/bash while [ 1 ]do ps aux|awk '{if($3>10){print $3" => "$0}}' sleep 0.5sdone

  10. C++篇:第十一章_标准库_知识点大全

    C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 十一.标准库 include头文件: ① 一般来说,导入objective c的 ...