spring-JdbcTemplate用法筆記
阿新 • • 發佈:2019-01-09
12120171030
package com.tiger.dao; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import com.tiger.bean.Book; /** * 書籍dao * @author tiger * @date 2017年10月30日 */ @Repository public class BookDaoImpl implements IBookDao { @Autowired private JdbcTemplate jdbcTemplate; @Override public int insert(Book book) { String sql = "insert into book(name,author,price,date) values(?,?,?,?)"; jdbcTemplate.update(sql, new Object[] {book.getName(),book.getAuthor(),book.getPrice(),book.getDate()}); return 0; } @Override public int update(Book book) { String sql = "update book set name=?,author=?,price=?,date=? where id=?"; jdbcTemplate.update(sql, new Object[] {book.getName(),book.getAuthor(),book.getPrice(),book.getDate(),book.getId()}); return 0; } @Override public int remove(int id) { String sql = "delete from book where id = ?"; jdbcTemplate.update(sql, new Object[] {id}); return 0; } @Override public List query(Book book) { String sql="select * from book"; List booList = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(Book.class)); return booList; } } <?xml version="1.0" encoding="UTF-8"?> 12120171030 1、增、刪、改 1)、int update(String sql):直接使用sql 2)、int update(String sql,Object ...args):使用不定引數的方法和update(String sql,Object[]args) 3)、int update(String sql,PreparedStatementSetter ps):PreparedStatementSetter是一個回撥介面,定義了一個setValues方法。 2、查詢 1)、queryForObject:獲取唯一的物件 //rowMapper對映器(欄位值與物件屬性之間的對映) queryForObject(String sql, RowMapper rowMapper) //獲取唯一物件的單個欄位資料,requiredType是欄位對應的資料型別 queryForObject(String sql, Class requiredType) 2)、queryForList:獲取多個物件 query:獲取多個物件 List query(String sql, RowMapper rowMapper) //智慧對映功能:條件物件的屬性名必須與表的欄位名一致 jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(UserInfo.class));