JDBC增删改查案例讲解
JDBC增删改查案例讲解
JDBC增删改查案例讲解简介:这是一个网上非常常见的,JDBC的练习题,系统大家通过本文的讲解,熟悉JDBC的增删改查。题目要求为:
完成商品品牌数据的增删改查操作,把每个操作封装成为对应函数。查询:查询所有数据添加:添加品牌修改:根据id修改删除:根据id删除环境准备数据库表 tb_brand
数据库建表语句:代码语言:javascript代码运行次数:0运行复制-
JDBC增删改查案例讲解
简介:这是一个网上非常常见的,JDBC的练习题,系统大家通过本文的讲解,熟悉JDBC的增删改查。
题目要求为: 完成商品品牌数据的增删改查操作,把每个操作封装成为对应函数。
- 查询:查询所有数据
- 添加:添加品牌
- 修改:根据id修改
- 删除:根据id删除
环境准备
- 数据库表
tb_brand
数据库建表语句:
代码语言:javascript代码运行次数:0运行复制-- 删除tb_brand表
drop table if exists tb_brand;
-- 创建tb_brand表
create table tb_brand (
-- id 主键
id int primary key auto_increment,
-- 品牌名称
brand_name varchar(20),
-- 企业名称
company_name varchar(20),
-- 排序字段
ordered int,
-- 描述信息
description varchar(100),
-- 状态:0:禁用 1:启用
status int
);
-- 添加数据
insert into tb_brand (brand_name, company_name, ordered, description, status)
values ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
('华为', '华为技术有限公司', 100, '华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界', 1),
('小米', '小米科技有限公司', 50, 'are you ok', 1);
- 创建工具包
pojo
Brand类
代码语言:javascript代码运行次数:0运行复制package com.study.pojo;
/**
* 品牌类
* alt + 鼠标左键:整列编辑
* 在实体类中,基本数据类型建议使用其对应的包装类型
*/
public class Brand {
// id 主键
private Integer id;
// 品牌名称
private String brandame;
// 企业名称
private String companyame;
// 排序字段
private Integer ordered;
// 描述信息
private String description;
// 状态:0:禁用 1:启用
private Integer status;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getBrandame() {
return brandame;
}
public void setBrandame(String brandame) {
this.brandame = brandame;
}
public String getCompanyame() {
return companyame;
}
public void setCompanyame(String companyame) {
thispanyame = companyame;
}
public Integer getOrdered() {
return ordered;
}
public void setOrdered(Integer ordered) {
= ordered;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Override
public String toString() {
return "Brand{" +
"id=" + id +
", brandame='" + brandame + '\'' +
", companyame='" + companyame + '\'' +
", ordered=" + ordered +
", description='" + description + '\'' +
", status=" + status +
'}';
}
}
代码讲解
代码语言:javascript代码运行次数:0运行复制package com.study.jdbc;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.study.pojo.Brand;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class JDBCDemo {
/**
* 查询所有
* 1. SQL:select * from tb_brand;
* 2. 参数:不需要
* . 结果:List<Brand>
*/
public static void testSelectAll(Connection conn) throws Exception {
//2. 定义SQL
String sql = "select * from tb_brand;";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
//5. 执行SQL
ResultSet rs = ();
//6. 处理结果 List<Brand> 封装Brand对象,装载List集合
Brand brand = null;
List<Brand> brands = new ArrayList<>();
while (()){
//获取数据
int id = rs.getInt("id");
String brandame = rs.getString("brand_name");
String companyame = rs.getString("company_name");
int ordered = rs.getInt("ordered");
String description = rs.getString("description");
int status = rs.getInt("status");
//封装Brand对象
brand = new Brand();
brand.setId(id);
brand.setBrandame(brandame);
brand.setCompanyame(companyame);
brand.setOrdered(ordered);
brand.setDescription(description);
brand.setStatus(status);
//装载集合
brands.add(brand);
}
println(brands);
//7. 释放资源
();
();
}
/**
* 添加
* 1. SQL:insert into tb_brand(brand_name, company_name, ordered, description, status) values(?,?,?,?,?);
* 2. 参数:需要,除了id之外的所有参数信息
* . 结果:boolean
*/
public static void testAdd(Connection conn) throws Exception {
// 接收页面提交的参数
String brandame = "香飘飘";
String companyame = "香飘飘";
int ordered = 1;
String description = "绕地球一圈";
int status = 1;
//2. 定义SQL
String sql = "insert into tb_brand(brand_name, company_name, ordered, description, status) values(?,?,?,?,?);";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setString(1,brandame);
pstmt.setString(2,companyame);
pstmt.setInt(,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,status);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
}
/**
* 修改
* 1. SQL:
update tb_brand
set brand_name = ?,
company_name= ?,
ordered = ?,
description = ?,
status = ?
where id = ?
* 2. 参数:需要,所有数据
* . 结果:boolean
*/
public static void testUpdate(Connection conn) throws Exception {
// 接收页面提交的参数
String brandame = "香飘飘";
String companyame = "香飘飘";
int ordered = 1000;
String description = "绕地球三圈";
int status = 1;
int id = 4;
//2. 定义SQL
String sql = " update tb_brand\n" +
" set brand_name = ?,\n" +
" company_name= ?,\n" +
" ordered = ?,\n" +
" description = ?,\n" +
" status = ?\n" +
" where id = ?";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setString(1,brandame);
pstmt.setString(2,companyame);
pstmt.setInt(,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,status);
pstmt.setInt(6,id);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
}
/**
* 删除
* 1. SQL:
delete from tb_brand where id = ?
* 2. 参数:需要,id
* . 结果:boolean
*/
public static void testDeleteById(Connection conn) throws Exception {
// 接收页面提交的参数
int id = 4;
//2. 定义SQL
String sql = " delete from tb_brand where id = ?";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setInt(1,id);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
}
public static void main(String[] args) throws Exception {
Properties prop = new Properties();
prop.load(new FileInputStream("src/com/study/druid.properties"));
//4. 获取连接池对象
DataSource dataSource = (prop);
//5. 获取数据库连接 Connection
Connection conn = dataSource.getConnection();
// 测试查询全部
testSelectAll(conn);
// 测试添加
testAdd(conn);
// 测试更新
testUpdate(conn);
// 测试删除
testDeleteById(conn);
(); // 统一删除
}
}
运行结果:
分模块演示
查询所有
代码语言:javascript代码运行次数:0运行复制public void testSelectAll() throws Exception {
//1. 获取Connection
//. 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
//4. 获取连接池对象
DataSource dataSource = (prop);
//5. 获取数据库连接 Connection
Connection conn = dataSource.getConnection();
//2. 定义SQL
String sql = "select * from tb_brand;";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
//5. 执行SQL
ResultSet rs = ();
//6. 处理结果 List<Brand> 封装Brand对象,装载List集合
Brand brand = null;
List<Brand> brands = new ArrayList<>();
while (()){
//获取数据
int id = rs.getInt("id");
String brandame = rs.getString("brand_name");
String companyame = rs.getString("company_name");
int ordered = rs.getInt("ordered");
String description = rs.getString("description");
int status = rs.getInt("status");
//封装Brand对象
brand = new Brand();
brand.setId(id);
brand.setBrandame(brandame);
brand.setCompanyame(companyame);
brand.setOrdered(ordered);
brand.setDescription(description);
brand.setStatus(status);
//装载集合
brands.add(brand);
}
println(brands);
//7. 释放资源
();
();
();
}
添加数据
代码语言:javascript代码运行次数:0运行复制/**
* 添加
* 1. SQL:insert into tb_brand(brand_name, company_name, ordered, description, status) values(?,?,?,?,?);
* 2. 参数:需要,除了id之外的所有参数信息
* . 结果:boolean
*/
public void testAdd() throws Exception {
// 接收页面提交的参数
String brandame = "香飘飘";
String companyame = "香飘飘";
int ordered = 1;
String description = "绕地球一圈";
int status = 1;
//1. 获取Connection
//. 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
//4. 获取连接池对象
DataSource dataSource = (prop);
//5. 获取数据库连接 Connection
Connection conn = dataSource.getConnection();
//2. 定义SQL
String sql = "insert into tb_brand(brand_name, company_name, ordered, description, status) values(?,?,?,?,?);";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setString(1,brandame);
pstmt.setString(2,companyame);
pstmt.setInt(,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,status);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
();
}
修改数据
代码语言:javascript代码运行次数:0运行复制/**
* 修改
* 1. SQL:
update tb_brand
set brand_name = ?,
company_name= ?,
ordered = ?,
description = ?,
status = ?
where id = ?
* 2. 参数:需要,所有数据
* . 结果:boolean
*/
public void testUpdate() throws Exception {
// 接收页面提交的参数
String brandame = "香飘飘";
String companyame = "香飘飘";
int ordered = 1000;
String description = "绕地球三圈";
int status = 1;
int id = 4;
//1. 获取Connection
//. 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
//4. 获取连接池对象
DataSource dataSource = (prop);
//5. 获取数据库连接 Connection
Connection conn = dataSource.getConnection();
//2. 定义SQL
String sql = " update tb_brand\n" +
" set brand_name = ?,\n" +
" company_name= ?,\n" +
" ordered = ?,\n" +
" description = ?,\n" +
" status = ?\n" +
" where id = ?";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setString(1,brandame);
pstmt.setString(2,companyame);
pstmt.setInt(,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,status);
pstmt.setInt(6,id);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
();
}
删除数据
代码语言:javascript代码运行次数:0运行复制/**
* 删除
* 1. SQL:
delete from tb_brand where id = ?
* 2. 参数:需要,id
* . 结果:boolean
*/
public void testDeleteById() throws Exception {
// 接收页面提交的参数
int id = 4;
//1. 获取Connection
//. 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
//4. 获取连接池对象
DataSource dataSource = (prop);
//5. 获取数据库连接 Connection
Connection conn = dataSource.getConnection();
//2. 定义SQL
String sql = " delete from tb_brand where id = ?";
//. 获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4. 设置参数
pstmt.setInt(1,id);
//5. 执行SQL
int count = (); // 影响的行数
//6. 处理结果
println(count > 0);
//7. 释放资源
();
();
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-09-14,如有侵权请联系 cloudcommunity@tencent 删除jdbc对象连接数据数据库 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 02:32:32
推荐阅读
留言与评论(共有 14 条评论) |
本站网友 克里莫夫 | 2分钟前 发表 |
description); pstmt.setInt(5 | |
本站网友 pp点通 | 7分钟前 发表 |
?);"; //. 获取pstmt对象 PreparedStatement pstmt = conn.prepareStatement(sql); //4. 设置参数 pstmt.setString(1 | |
本站网友 上海东方肝胆医院 | 18分钟前 发表 |
status); pstmt.setInt(6 | |
本站网友 lcd和oled | 0秒前 发表 |
('小米' | |
本站网友 魔鬼作坊 | 17分钟前 发表 |
每个组织 | |
本站网友 拉维小镇 | 26分钟前 发表 |
status); pstmt.setInt(6 | |
本站网友 喝蜂蜜水的最佳时间表 | 25分钟前 发表 |
5 | |
本站网友 淮安妇科医院 | 9分钟前 发表 |
题目要求为: 完成商品品牌数据的增删改查操作 | |
本站网友 妇科体格检查 | 23分钟前 发表 |
status) values ('三只松鼠' | |
本站网友 丰泽园饭庄 | 14分钟前 发表 |
ordered = ? | |
本站网友 天祝吧 | 26分钟前 发表 |
? | |
本站网友 汇金九龙商业街 | 20分钟前 发表 |
brandame); pstmt.setString(2 | |
本站网友 李亚鹏新浪微博 | 5分钟前 发表 |
ordered |