1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| @Repository public class BookRepository { @Autowired private JdbcTemplate jdbcTemplate; private final RowMapper<Book> bookRowMapper = (rs, rowNum) -> { Book book = new Book(); book.setId(rs.getLong("id")); book.setTitle(rs.getString("title")); book.setAuthor(rs.getString("author")); book.setIsbn(rs.getString("isbn")); book.setPublisher(rs.getString("publisher")); book.setPublishDate(rs.getDate("publish_date")); book.setTotalCopies(rs.getInt("total_copies")); book.setAvailableCopies(rs.getInt("available_copies")); book.setCreateTime(rs.getTimestamp("create_time")); book.setUpdateTime(rs.getTimestamp("update_time")); return book; }; public List<Book> findAll() { String sql = "SELECT * FROM books ORDER BY create_time DESC"; return jdbcTemplate.query(sql, bookRowMapper); } public Book findById(Long id) { String sql = "SELECT * FROM books WHERE id = ?"; return jdbcTemplate.queryForObject(sql, bookRowMapper, id); } public void save(Book book) { String sql = "INSERT INTO books (title, author, isbn, publisher, publish_date, total_copies, available_copies) " + "VALUES (?, ?, ?, ?, ?, ?, ?)"; jdbcTemplate.update(sql, book.getTitle(), book.getAuthor(), book.getIsbn(), book.getPublisher(), book.getPublishDate(), book.getTotalCopies(), book.getAvailableCopies()); } public void update(Book book) { String sql = "UPDATE books SET title=?, author=?, isbn=?, publisher=?, " + "publish_date=?, total_copies=?, available_copies=? WHERE id=?"; jdbcTemplate.update(sql, book.getTitle(), book.getAuthor(), book.getIsbn(), book.getPublisher(), book.getPublishDate(), book.getTotalCopies(), book.getAvailableCopies(), book.getId()); } public void deleteById(Long id) { String sql = "DELETE FROM books WHERE id = ?"; jdbcTemplate.update(sql, id); } }
|