**
druid的使用步骤
**
1:导入相关的druid-jar包
2:定义配置文件
3:加载配置文件
4:获取数据库连接池对象
5:获取链接
具体实现:
相关包可以网上下载哦::白嫖队
将jar包放到lib文件下:点击选择 add as Library;
1,创建一个Java文件,获取连接池与数据库的队应匹配:
注:特别注意导入文件地址的问题发生,大多报错都是地址不匹配
package DruidExample;
/*
* 品牌
* alt+鼠标左键整列编辑
* 鼠标选中 ctrl+ r全选 直接替换全部
*Alt + insert 生成构造方法,和tostring方法
* 在实体类型中,基本数据类型建议使用对应包装类型
* */
public class Brand {
//id 主键
private int id;
//品牌名称
private String brand_name;
//企业名称
private String company_name;
//排序字段
private int ordered;
//描述信息
private String description;
//状态:0:禁用 1:启用
private int STATUS;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBrand_name() {
return brand_name;
}
public void setBrand_name(String brand_name) {
this.brand_name = brand_name;
}
public String getCompany_name() {
return company_name;
}
public void setCompany_name(String company_name) {
this.company_name = company_name;
}
public int getOrdered() {
return ordered;
}
public void setOrdered(int ordered) {
this.ordered = ordered;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getSTATUS() {
return STATUS;
}
public void setSTATUS(int STATUS) {
this.STATUS = STATUS;
}
@Override
public String toString() {
return "Brand{" +
"id=" + id +
", brand_name='" + brand_name + '\'' +
", company_name='" + company_name + '\'' +
", ordered=" + ordered +
", description='" + description + '\'' +
", STATUS=" + STATUS +
'}';
}
}
2:将其中的文件进行编辑更改:druid.properties
druid.properties 配置更改
url=jdbc:mysql://127.0.0.1:3307/mydb?rewriteBatchedStatements=true
username=root
password=root
driverClassName=com.mysql.cj.jdbc.Driver
initialSize=10
maxActive=20
maxWait=1000
filters=wall
修改里面的相关内容与之匹配:
创建Java文件,生成构造方法和toString方法;
在这里插入代码片
package DruidExample;
/*
* 品牌
* alt+鼠标左键整列编辑
* 鼠标选中 ctrl+ r全选 直接替换全部
*Alt + insert 生成构造方法,和tostring方法
* 在实体类型中,基本数据类型建议使用对应包装类型
* */
public class Brand {
//id 主键
private int id;
//品牌名称
private String brand_name;
//企业名称
private String company_name;
//排序字段
private int ordered;
//描述信息
private String description;
//状态:0:禁用 1:启用
private int STATUS;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBrand_name() {
return brand_name;
}
public void setBrand_name(String brand_name) {
this.brand_name = brand_name;
}
public String getCompany_name() {
return company_name;
}
public void setCompany_name(String company_name) {
this.company_name = company_name;
}
public int getOrdered() {
return ordered;
}
public void setOrdered(int ordered) {
this.ordered = ordered;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getSTATUS() {
return STATUS;
}
public void setSTATUS(int STATUS) {
this.STATUS = STATUS;
}
@Override
public String toString() {
return "Brand{" +
"id=" + id +
", brand_name='" + brand_name + '\'' +
", company_name='" + company_name + '\'' +
", ordered=" + ordered +
", description='" + description + '\'' +
", STATUS=" + STATUS +
'}';
}
}
```java
package DruidExample;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.Test;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
/*
* 品牌数据的增删改查功能
*1 获取Connection 连接
*2 定义sql语句:select * from tb_brand; 变化项
*3 获取PreparedStatement对象
*4 设置参数:不需要 变化项
*5 执行sql
*6 处理结果:list<Brand> 变化项
*7 释放资源
* */
public class BrandTest {
**查询所有相关信息**
/*
* 查询所有功能的分析
* 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/druid.properties"));
// 获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取数据库链接 Connection
Connection connection = dataSource.getConnection();
System.out.println(connection);
//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>封装Brand对象,装载到List集合当中去
Brand brand = null;
List<Brand> brands = new ArrayList<>();
while (rs.next()){
//获取数据
int id = rs.getInt("id");
String brandName = rs.getString("brand_name");
String companyName = 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.setBrand_name(brandName);
brand.setCompany_name(companyName);
brand.setOrdered(ordered);
brand.setDescription(description);
brand.setSTATUS(status);
//装载集合
brands.add(brand);
}
System.out.println(brands+"\n");//打印集合查看效果
}
**向数据库添加相关操作**
/*
* 添加
* 1 sql :insert into tb_brand(brand_name,company_name,ordered,descript,status) value(?,?,?,?,?);
* 2 参数: 需要除iD之外的所有参数信息
* 3 结果 :boolean
* */
@Test
public void testAdd() throws Exception { //添加不需要id 由数据库主键自增自动生成
//接收页面提交的参数 (模拟)
String brandName = "8848钛晶手机";
String companyName = "8848";
int ordered = 1;
String description = "成功人士的标配";
int STATUS = 1;
//1 获取连接的connection 对象
// 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid.properties"));
// 获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取数据库链接 Connection
Connection conn = dataSource.getConnection();
System.out.println(conn);
//2 定义sql语句
String sql = "insert into tb_brand(brand_name,company_name,ordered,description,status) value(?,?,?,?,?);";
//3 获取pstmt 对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4 设置参数
pstmt.setString(1,brandName);
pstmt.setString(2,companyName);
pstmt.setInt(3,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,STATUS);
//5 执行sql
int count = pstmt.executeUpdate();//影响行数
//6 处理结果
System.out.println(count>0);//输出结果是boolean类型的值
//7 释放资源
pstmt.close();
conn.close();
}
**更新数据库信息**
/*
* 修改功能的实现 通过id进行修改
* 1. sql : update tb_brand
* set brand_naem = ?,
* company_name = ?,
* ordered = ?,
* descript = ?,
* STATUS = ?,
* where id = ?
*2.参数 : 需要 ,需要用到所有的数据
*3.结果 :boolean类型
* */
@Test
public void testUpdate() throws Exception { //添加不需要id 由数据库主键自增自动生成
//接收页面提交的参数 (模拟)
String brandName = "魅族经典";
String companyName = "flyme你手中的信仰";
int ordered = 1000;
String description = "这是一种奢华,也是一种拥有";
int status = 1;
int id = 4;
//1 获取连接的connection 对象
// 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid.properties"));
// 获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取数据库链接 Connection
Connection conn = dataSource.getConnection();
System.out.println(conn);
//2 定义sql语句
String sql = "update tb_brand\n" +
" set brand_name = ?,\n" +
" company_name = ?,\n" +
" ordered = ?,\n" +
" description = ?,\n" +
" status = ?\n" +
" where id = ?;";
//3 获取pstmt 对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4 设置参数
pstmt.setString(1,brandName);
pstmt.setString(2,companyName);
pstmt.setInt(3,ordered);
pstmt.setString(4,description);
pstmt.setInt(5,status);
pstmt.setInt(6,id);
//5 执行sql
int count = pstmt.executeUpdate();//影响行数
//6 处理结果
System.out.println(count>0);//输出结果是boolean类型的值
//7 释放资源
pstmt.close();
conn.close();
}
**删除数据库相关信息**
/*
* 删除功能的实现 通过id进行删除
* 1. sql : delete from tb_brand where id =4;
*2.参数 : 需要 ,需要用到id参数
*3.结果 :boolean类型
* */
@Test
public void testDeleteId() throws Exception { //添加不需要id 由数据库主键自增自动生成
//接收页面提交的参数 (模拟)
int id = 3;
//1 获取连接的connection 对象
// 加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/druid.properties"));
// 获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//获取数据库链接 Connection
Connection conn = dataSource.getConnection();
System.out.println(conn);
//2 定义sql语句
String sql = "delete from tb_brand where id =?";
//3 获取pstmt 对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4 设置参数
pstmt.setInt(1,id);
//5 执行sql
int count = pstmt.executeUpdate();//影响行数
//6 处理结果
System.out.println(count>0);//输出结果是boolean类型的值
//7 释放资源
pstmt.close();
conn.close();
}
}
用于测试的数据库数据
use mydb;
CREATE table tb_brand(
id int PRIMARY KEY auto_increment,
brand_name VARCHAR(20),
company_name VARCHAR(20),
ordered int,
description VARCHAR(100),
STATUS int
);
--添加数据
insert into tb_brand(brand_name,company_name,ordered,description,status)
VALUE('苹果','苹果技术有限公司',500,'吃个苹果解解渴',0),
('华为','华为技术有限公司',300,'华为YYDS',1),
('小米','小米科技有限公司',200,'今天你发烧了吗!',1);
select * from tb_brand;
UPDATE tb_brand set ordered = 200 where id=3;
有兴趣的小伙伴可以看一看哦^^………………