- 一、什么是JdbcTemplate
- 二、jdbcTemplate 操作数据库(添加)
- 三、jdbcTemplate 操作数据库(修改和删除)
- 四、jdbcTemplate 操作数据库(查询返回某个值)
- 五、jdbcTemplate 操作数据库(查询返回对象)
- 六、jdbcTemplate 操作数据库(查询返回集合)
- 七、JdbcTemplate操作数据库(批量添加操作)
- 八、JdbcTemplate操作数据库(批量删除、修改)
Spring框架对JDBC进行封装,使用jdbcTemplate方便对数据库操作
(1)准备工作(引入相关jar包)
4.0.0 groupId Spring5_jdbcTemplate 1.0-SNAPSHOT org.springframework spring-context 5.3.15 org.springframework spring-jdbc 5.3.15 org.springframework spring-orm 5.2.5.RELEASE com.alibaba druid 1.2.8 mysql mysql-connector-java 8.0.26 org.springframework spring-tx 5.3.15
(2)spring配置文件中配置数据库连接池
(3)配置JdbcTemplate对象,注入DataSource
(4)创建service类,创建dao、dao实现类。在实现类里注入jdbcTemplate
jdbcTemplate 操作数据库(添加)
(1)对应数据库的实体类
package com.yzh.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private String pwd;
}
(2)编写service和dao
(3)调用JdbcTemplate对象里的update方法实现添加操作
update(String sql, Object args)
有两个参数,一个是sql语句,第二个参数是可变参数
public void addBook(Book book) {
//创建sql语句
String sql = "insert into user values(?,?)";
//创建sql语句参数
Object[] args = {book.getName(),book.getPwd()};
int update = jdbcTemplate.update(sql,args);
System.out.println(update);
}
(4)测试
import com.yzh.entity.Book;
import com.yzh.service.BookService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testDemo {
@Test
public void TestJDBC(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = context.getBean("bookService", BookService.class);
Book book = new Book("乐乐","999999");
bookService.addBook(book);
}
}
三、jdbcTemplate 操作数据库(修改和删除)
BookDao
public void updateBook(Book book);
public void deleteBook(String name);
BookDaoImpl
public void updateBook(Book book) {
String sql = "update user set pwd=? where name=?";
Object[] args = {book.getPwd(),book.getName()};
int update = jdbcTemplate.update(sql,args);
System.out.println(update);
}
public void deleteBook(String name) {
String sql = "delete from user where name=?";
int update = jdbcTemplate.update(sql,name);
System.out.println(update);
}
BookService
public void updateBook(Book book){
bookDao.updateBook(book);
}
public void deleteBook(String name){
bookDao.deleteBook(name);
}
测试类
@Test
public void testUpdate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = context.getBean("bookService", BookService.class);
Book book = new Book("西瓜","888888");
bookService.updateBook(book);
}
@Test
public void testDelete(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = context.getBean("bookService", BookService.class);
bookService.deleteBook("西瓜");
}
四、jdbcTemplate 操作数据库(查询返回某个值)
(1)查询表里有多少条记录,返回某个值
(2)使用iJdbcTemplate实现查询返回某个值的代码
queryForObject(String sql,Class requiredType )
两个参数,第一个参数,sql语句,第二个参数,返回类型Class
// 查询表记录数
public Integer selectCount() {
String sql = "select count(*) from user ";
int Count = jdbcTemplate.queryForObject(sql,Integer.class);
return Count;
}
五、jdbcTemplate 操作数据库(查询返回对象)
JdbcTemplate实现查询返回对象
queryForObject(String sql, RowMapper rowMapper, Object… args)
第一个参数,sql语句,
第二个参数,RowMapper,是接口,返回不同类型数据,使用这个接口里面实现完成数据封装
第三个参数,sql语句值
public Book findBookInfo(String name) {
String sql = "select * from user where name=?";
Book book = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(Book.class),name);
return book;
}
六、jdbcTemplate 操作数据库(查询返回集合)
JdbcTemplate实现查询返回集合
query(String sql, RowMapper rowMapper, Object… args )
第一个参数:sql语句
第二个参数:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现完成数据封装
第三个参数:sql语句值
public List七、JdbcTemplate操作数据库(批量添加操作)findAllBook() { String sql = "select * from user "; List bookList = jdbcTemplate.query(sql, new BeanPropertyRowMapper (Book.class)); return bookList; }
JdbcTemplate实现批量操作
batchUpdate(String sql,List
第一个参数:sql语句
第二个参数:List集合
public void batchAddBook(List八、JdbcTemplate操作数据库(批量删除、修改)
// 批量修改
public void batchUpdateBook(List
暑期编程PK赛
得CSDN机械键盘等精美礼品!


