JdbcTemplate(概念和准备)
1、什么是JdbcTempate
(1)Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作
2、准备工作
(1)引入相关依赖
(2)在spring配置文件配置数据库连接池
(3)配置JdbcTemplate对象,注入DataSource
(4)创建service类,创建dao类,在dao注入jdbcTemplate对象
开启组件扫描;创建对象并且注入dao;完成准备工作
JdbcTemplate(概念和准备)
1、对应数据库创建实体类
2、编写service和dao
(1)在dao进行数据库添加操作
@Override
public void add(Book book) {
//1 创建sql语句
String sql = "insert into t_book(user_id,username,ustatus) values(?,?,?)";
//2 调用方法实现
int update = jdbcTemplate.update(sql,book.getUserId(),book.getUsername(),book.getUstatus());
System.out.println(update);
}
JdbcTemplate操作数据库(修改和删除)
//修改的方法
@Override
public void update(Book book) {
String sql = "update t_book set username = ?,ustatus=? where user_id = ?";
int update = jdbcTemplate.update(sql,book.getUsername(),book.getUstatus(),book.getUserId());
System.out.println(update);
}
//删除的方法
@Override
public void delete(Book book) {
String sql = "delete from t_book where user_id =?";
int update = jdbcTemplate.update(sql,book.getUserId());
System.out.println(update);
}
JdbcTemplate操作数据库(查询返回某个值)
//查询表记录数
@Override
public int selectCount() {
String sql = "select COUNT(*) from t_book";
Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
return count;
}
JdbcTemplate操作数据库(查询返回对象)
@Override
public Book getBookDetail(String id) {
String sql = "select user_id,username,ustatus from t_book where user_id=?";
Book book = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<Book>(Book.class),id);
return book;
}
JdbcTemplate操作数据库(查询返回集合)
@Override
public List<Book> getAllBookDetail() {
String sql = "select * from t_book";
List<Book> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<Book>(Book.class));
return list;
}
JdbcTemplate操作数据库(批量操作)
1、批量操作,操作表里的多条记录
2、JdbcTemplate实现批量添加操作
batchUpdate(String sql,List<Object[]> batchArgs)
(1)批量添加
@Override
public void batchAddBook(List<Object[]> batchArgs) {
String sql = "insert into t_book(user_id,username,ustatus) values(?,?,?)";
int[] ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
(2)批量修改
@Override
public void batchUpdateBook(List<Object[]> batchArgs) {
String sql = "update t_book set username=?,ustatus=? where user_id=?";
int[] ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
(3)批量删除
@Override
public void batchdeleteBook(List<Object[]> batchArgs) {
String sql = "DELETE FROM t_book WHERE user_id = ?";
int[] ints = jdbcTemplate.batchUpdate(sql,batchArgs);
System.out.println(Arrays.toString(ints));
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)