//添加的方法 @Override public void add(Book book) { //1 创建sql语句 String sql = "insert into t_book values (?,?,?)"; //2 调用方法实现 Object[] args = {book.getUserId(),book.getUsername(),book.getUstatus()}; int update = jdbcTemplate.update(sql,args); System.out.println(update); } }
测试类
@Test public void testJdbcTemplate(){ ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml"); BookService bookService = context.getBean("bookService", BookService.class); Book book = new Book(); book.setUserId("1"); book.setUsername("三国"); book.setUstatus("售罄"); bookService.addBook(book); }
2.2修改和删除
Service 层
//修改的方法 public void update(Book book){ booKDao.updateBook(book); }
//删除的方法 public void delete(String id){ booKDao.deleteBook(id); }
Dao 层
void updateBook(Book book);
void deleteBook(String id);
实现类
//修改 @Override public void updateBook(Book book) { //1 创建sql语句 String sql = "update t_book set username=?,ustatus=?,where user_id=?"; //2 调用方法实现 Object[] args = {book.getUsername(),book.getUstatus(),book.getUserId()}; int update = jdbcTemplate.update(sql,args); System.out.println(update); }
//删除 @Override public void deleteBook(String id) { //1 创建sql语句 String sql = "delete from t_book where user_id=?"; //2 调用方法实现 int update = jdbcTemplate.update(sql,id); System.out.println(update); }
Test类
//修改 Book book = new Book(); book.setUserId("1"); book.setUsername("三国演义"); book.setUstatus("在售"); bookService.update(book);
//删除 bookService.delete("1");
2.3查询
2.3.1查询返回某个值
查询表里面有多少条记录,返回是某个值
使用JdbcTemplate实现查询返回某个值代码
有两个参数
第一个参数:sql语句
第二个参数:返回类型Class
//查询表记录 @Override public int selectCount() { String sql = "select count(*) from t_book"; Integer count = jdbcTemplate.queryForObject(sql, Integer.class); return count; }
2.3.2查询返回对象
场景:查询图书详情
JdbcTemplate实现
有三个参数
第一个参数:sql语句
第二个参数:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现类完成数据封装
第三个参数:sql语句值
//查询返回对象 @Override public Book findBookInfo(String id) { String sql = "select * from t_book where userid=?"; Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper(Book.class), id); return book; }
2.3.3查询返回集合
场景:查询图书列表分页...
调用JdbcTemplate方法实现查询返回集合
有三个参数
第一个参数:sql语句
第二个参数:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现类完成数据封装
第三个参数:sql语句值
//查询返回集合 @Override public List findAllBook() { String sql = "select * from t_book"; List bookList = jdbcTemplate.query(sql, new BeanPropertyRowMapper(Book.class)); return bookList; }