一 JDBCTemplate
1.1 概述
使用JDBCTemplate可以将JDBC操作数据库的代码简化到3步,它是spring家族的一个子产品(Spring、SrpingMVC、SpringBoot、SpringSecurty、SpringJPA。。。。。。)所有的产品,都是免费开源,它是对JDBC封装的一套工具包【jar】
api
创建JDBCTemplate对象
new JDBCTemplate(DataSource 连接池);
编写sql【问号占位符】
执行方法
// 执行sql
public void execute(...);
// 执行dml
public int update(...);
// 执行dql
public T queryXxx(...);
1.2 初体验
需求
使用JDBCTemplate创建一张商品表
步骤分析
-
创建java工程
-
导入jar包
mysql驱动、druid连接池、JDBCTemplate工具包
-
定义druid配置文件
-
编写代码
代码片段
@Test
public void test01() throws Exception {
// 创建JDBCTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource());
// 编写sql
String sql = "create table product(" +
"id int primary key auto_increment," +
"name varchar(32)," +
"price double" +
");";
// 执行sql
jdbcTemplate.execute(sql);
}
1.3 实现增删改
新增
// 新增
@Test
public void test01() throws Exception {
// 创建JDBCTemplate 对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSourceUtils.getDataSource());
// 编写sql
String sql = "insert into product values(null,?,?);";
// 执行sql
int i = jdbcTemplate.update(sql, "小米8", 2699);
System.out.println("影响行数:" + i);
jdbcTemplate.update(sql, "魅族16", 2698);
jdbcTemplate.update(sql, "华为p20PRO", 4999);
jdbcTemplate.update(sql, "锤子(坚果)pro", 6999);
// 可变参数的底层就是 数组
Object[] params = {
"三星note9", 3999};
jdbcTemplate.update(sql,params);
}
修改
// 修改
@Test
public void test02() throws Exception {
//编写sql
String sql = "update product set price = ? where name= ?;";
// 执行sql
int i = jdbcTemplate.update(sql, 2499, "小米8");
if (i>0) {
System.out.println("修改价格成功!");
}
}
删除
// 删除
@Test
public void test03(