JDBC——案例

创建一个商品表
drop table if exists tb_brand; -- 创建tb_brand表
create table tb_brand(
id int primary key auto_increment, -- 主链
brand_name varchar(20), -- 品牌名称
company_name varchar(20), -- 公司名称
orderd int, -- 排序字段
description varchar(100), -- 描述信息
status INT -- 状态: 0-禁用 1-启用
); -- 添加数据
insert into tb_brand (brand_name,company_name, orderd, description, status)
values
('三只松鼠','三只松鼠股份有限公司', 5 ,'好吃不上火', 0),
('华为','华为技术有限公司',100,'华为致力于把数字世界带入每个人、每个家庭', 1),
('小米','小米科技有限公司',50,'are you ok', 1); select * from tb_brand;

/**查询表所有元素
* 1、SQL:select * from tb_brand
* 2、参数:不需要
* 3、结果:List<Brand>
*/
@Test
public void testSelectAll() throws Exception {
// 1、获取Connection连接对象
// 配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid0920.properties"));
// 获取数据库连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
// 获取Connection连接对象
Connection connection = dataSource.getConnection(); // 2、定义sql语句
String sql = "select * from tb_brand"; // 3、获取pstmt对象
PreparedStatement pstmt = connection.prepareStatement(sql); // 4、设置参数(暂无) // 5、执行SQL
ResultSet rs = pstmt.executeQuery(); // 6、处理结果 List<Brand>
ArrayList<Brand> brands = new ArrayList<>();
while(rs.next()){
Brand brand = new Brand(rs.getInt("id"),rs.getString("brand_name"),
rs.getString("company_name"),rs.getInt("orderd"),
rs.getString("description"),rs.getInt("status"));
brands.add(brand);
} // 7、释放资源
rs.close();
pstmt.close();
connection.close(); System.out.println(brands);
}

/**
* 添加表元素
* 1、SQL:insert into tb_brand (brand_name,company_name,orderd,description,
* status) values (?,?,?,?,?)
* 2、参数:不需要
* 3、结果:True or False
*/
@Test
public void testInsert() throws Exception {
// 1、获取Connection连接对象
// 配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid0920.properties"));
// 获取数据库连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
// 获取Connection连接对象
Connection connection = dataSource.getConnection(); // 2、定义sql语句
String sql = "insert into tb_brand (brand_name,company_name,orderd,description,status) values (?,?,?,?,?)"; // 3、获取pstmt对象
PreparedStatement pstmt = connection.prepareStatement(sql); // 4、设置参数-- 5个参数
Brand brand = new Brand();
brand.setBrandName("重邮火锅");
brand.setCompanyName("重庆邮电有限公司");
brand.setDescription("重庆的火锅真的好吃!!");
brand.setOrderd(105);
brand.setStatus(1);
pstmt.setString(1,brand.getBrandName());
pstmt.setString(2,brand.getCompanyName());
pstmt.setInt(3,brand.getOrderd());
pstmt.setString(4,brand.getDescription());
pstmt.setInt(5,brand.getStatus()); // 5、执行SQL
int count = pstmt.executeUpdate(); // 6、处理结果 True or False
System.out.println(count > 0); // 7、释放资源 pstmt.close();
connection.close();
}

/**
* 通过id修改表元素
* 1、SQL:update tb_Brand set brand_name = ? , company_name = ? , orderd = ? , description = ? , status = ? where id = ?
* 2、参数:不需要
* 3、结果:True or False
*/
@Test
public void testUpdateById() throws Exception {
// 1、获取Connection连接对象
// 配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid0920.properties"));
// 获取数据库连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
// 获取Connection连接对象
Connection connection = dataSource.getConnection(); // 2、定义sql语句
String sql = "update tb_Brand set brand_name = ? , company_name = ? , orderd = ? , description = ? , status = ? where id = ?"; // 3、获取pstmt对象
PreparedStatement pstmt = connection.prepareStatement(sql); // 4、设置参数-- 5个参数
Brand brand = new Brand();
brand.setBrandName("重邮锅巴");
brand.setCompanyName("重庆邮电有限公司");
brand.setDescription("重庆的锅吧真的好吃!!");
brand.setOrderd(105);
brand.setStatus(1);
pstmt.setString(1,brand.getBrandName());
pstmt.setString(2,brand.getCompanyName());
pstmt.setInt(3,brand.getOrderd());
pstmt.setString(4,brand.getDescription());
pstmt.setInt(5,brand.getStatus());
pstmt.setInt(6,4); // 5、执行SQL
int count = pstmt.executeUpdate(); // 6、处理结果 True or False
System.out.println(count > 0); // 7、释放资源 pstmt.close();
connection.close();
}

/**
* 通过id删除元素
* 1、SQL:delete from tb_brand where id = ?
* 2、参数:不需要
* 3、结果:True or False
*/
@Test
public void testDeleteById() throws Exception {
// 1、获取Connection连接对象
// 配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid0920.properties"));
// 获取数据库连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
// 获取Connection连接对象
Connection connection = dataSource.getConnection(); // 2、定义sql语句
String sql = "delete from tb_brand where id = ?"; // 3、获取pstmt对象
PreparedStatement pstmt = connection.prepareStatement(sql); // 4、设置参数-- 1个参数--id
pstmt.setInt(1,4); // 5、执行SQL
int count = pstmt.executeUpdate(); // 6、处理结果 True or False
System.out.println(count > 0); // 7、释放资源 pstmt.close();
connection.close();
}
JDBC——案例的更多相关文章
- day05 java JDBC案例—Android小白的学习笔记
1.要从键盘录入用户名与密码我们需要使用Scanner类完成操作 2.接收到用户名与密码后,我们需要调用jdbc程序根据用户名与密码查询数据库 User.java package com.superg ...
- 一个简单的java jdbc案例
有些时候,配置一个spring+mybatis框架,然后写xml,dao ,service显得特别繁琐. 如果我们只是想查一下数据库,不考虑连接复用也不考虑动态sql,可以用原生的jdbc来实现,方便 ...
- Sharding JDBC案例实战
基础分库 以下实例基于shardingsphere 4.1.0 + SpringBoot 2.2.5.RELEASE版本 依赖导入: <properties> <project.bu ...
- 一个基础又很重要的知识点:JDBC原理(基本案例和面试知识点)
JDBC全称又叫做Java DataBase Connectivity,就是Java数据库连接,说白了就是用Java语言来操作数据库.这篇文章主要是对JDBC的原理进行讲解.不会专注于其使用.主要是理 ...
- JDBC初步 JDBC连接SQLServer 2008之心路历程
转自:http://www.cnblogs.com/weilengdeyu/archive/2013/01/17/2864321.html JDBC简介 今天,研究了下JDBC连接SQL Server ...
- Java JDBC概要总结一(基本操作和SQL注入问题)
JDBC定义: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API.JDBC是Java访问数据库的标准规范,可以为不同的关系 ...
- JAVA企业级开发-jdbc入门(09)
一. jdbc介绍 JDBC全称为:Java DataBase Connectivity(java数据库连接). SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JD ...
- 动态代理在WEB与JDBC开发中的应用
WEB案例 目前有一个2005年开始,基于Struts1的Web项目A,其验证部分依赖于主站的SSO(单点登录).在请求站点A的时候,用户会被强制带去做SSO验证,通过身份验证后后,主站会自动地把请求 ...
- jdbc知识点(连接mysql)
jdbc连接mysql 1.JDBC简介 JDBC: 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库.从根本上来说,JDBC ...
- JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务
JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...
随机推荐
- 基于django(爱抚宠物) 小程序设计和实现(源码+LW+部署讲解)
感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用 ...
- [oeasy]python0050_动态类型_静态类型_编译_运行
动态类型_静态类型 回忆上次内容 上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档 文档 可以写成网页 python3 本身 也有 在线的帮助手册 目前的程序 提高了 可读性 ...
- 题解:AT_abc359_c [ABC359C] Tile Distance 2
背景 去中考了,比赛没打,来补一下题. 分析 这道题让我想起了这道题(连题目名称都是连着的),不过显然要简单一些. 这道题显然要推一些式子.我们发现,和上面提到的那道题目一样,沿着对角线走台阶,纵坐标 ...
- [UE] 关于ue5中制作流日志记录
UE5目前根据现有功能,配合Quixel Bridge可以做到地编和一些简单的动画,实现完整的游戏,但是目前随着版本的迭代,流程的定制需要更新 ControlRig方便在UE中做动画的,模拟动画等,U ...
- JMeter+Ant+Jenkins接口自动化测试框架(Windows)
一:简介 大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件:Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具.将这三者结合起 ...
- vscode添加python文件头模板
pycharm可以自动生成python的文件头模板,但是vscode目前还不可以(不支持python,c的似乎有插件支持了).琢磨了一下,可以通过用户代码片段来实现. 1. 什么是用户代码片段 参考文 ...
- 《HelloGitHub》第 100 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...
- web3 产品介绍: walletconnect 连接Web3 DApps与用户的移动加密钱包
WalletConnect是一种去中心化的开源协议,旨在连接Web3 DApps与用户的移动加密钱包,提供更安全.更便捷的加密货币交易体验.在本文中,我们将介绍WalletConnect的主要特点.工 ...
- 【Java】爬资源案例
也不知道为什么喜欢叫爬虫 搞明白原理之后原来就是解析网页代码获取关键字符串 现在的网页有很多解析出来就是JS了,根本不暴露资源地址 依赖一个JSOUP,其他靠百度CV实现 <!-- https: ...
- 普通用户权限运行docker
docker安装后默认权限是管理员,在Ubuntu系统中需要使用sudo命令,但是很多时候docker的拉取操作都是写在脚步里面的,因此执行的时候十分的难搞,如果给脚本sudo权限后那么整个的环境路径 ...