diff --git a/src/main/java/com/kwan/spring5/User.java b/src/main/java/com/kwan/spring5/User.java index 031decb885350b40b84c9efa69e076cd7e650757..2506c47ee79ae36c0c51d7347c16acad609ab62e 100644 --- a/src/main/java/com/kwan/spring5/User.java +++ b/src/main/java/com/kwan/spring5/User.java @@ -1,7 +1,5 @@ package com.kwan.spring5; -import org.springframework.stereotype.Component; - /** * 用户 * @@ -9,8 +7,9 @@ import org.springframework.stereotype.Component; * @version : 2.2.0 * @date : 2022/11/12 19:22 */ -@Component(value = "user") public class User { + public User() { + } /** * 普通方法 diff --git a/src/main/java/com/kwan/spring5/dao/BookDao.java b/src/main/java/com/kwan/spring5/dao/BookDao.java index 18364c0ace2a1501f7bbe19ddfcf53682b7469ce..7a0aea5fc2941dba301a175104d03026f695649c 100644 --- a/src/main/java/com/kwan/spring5/dao/BookDao.java +++ b/src/main/java/com/kwan/spring5/dao/BookDao.java @@ -2,6 +2,24 @@ package com.kwan.spring5.dao; import com.kwan.spring5.Book; +import java.util.List; + public interface BookDao { void add(Book book); + + void updateBook(Book book); + + void delete(String id); + + + int selectCount(); + + + Book findBookInfo(String id); + + List findAllBook(); + + void batchAddBook(List batchArgs); + + void batchUpdateBook(List batchArgs); } diff --git a/src/main/java/com/kwan/spring5/dao/impl/BookDaoImpl.java b/src/main/java/com/kwan/spring5/dao/impl/BookDaoImpl.java index 0c7c58ec6ed669d17129039b38016f2e3ad5f638..328b48fcff90bb8358a5cdba40d7aeacc8fe5f71 100644 --- a/src/main/java/com/kwan/spring5/dao/impl/BookDaoImpl.java +++ b/src/main/java/com/kwan/spring5/dao/impl/BookDaoImpl.java @@ -3,9 +3,20 @@ package com.kwan.spring5.dao.impl; import com.kwan.spring5.Book; import com.kwan.spring5.dao.BookDao; 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 java.util.Arrays; +import java.util.List; + +/** + * book-dao实现类 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/15 22:33 + */ @Repository public class BookDaoImpl implements BookDao { /** @@ -28,4 +39,94 @@ public class BookDaoImpl implements BookDao { int update = jdbcTemplate.update(sql, args); System.out.println(update); } + + /** + * 修改 + * + * @param book + */ + @Override + public void updateBook(Book book) { + String sql = "UPDATE t_book SET username=?,ustatus=? WHERE user_id=?"; + Object[] args = {book.getUsername(), book.getUstatus(), book.getUserId()}; + int update = jdbcTemplate.update(sql, args); + System.out.println(update); + } + + /** + * 删除 + * + * @param id + */ + @Override + public void delete(String id) { + String sql = "DELETE FROM t_book WHERE user_id=?"; + int update = jdbcTemplate.update(sql, id); + System.out.println(update); + } + + /** + * 查询表记录数 + * + * @return + */ + @Override + public int selectCount() { + String sql = "SELECT COUNT(*) FROM t_book"; + //queryForObject方法中:第一个参数代表--sql语句;第二个参数代表--返回类型class + return jdbcTemplate.queryForObject(sql, Integer.class); + } + + /** + * 查询返回对象 + * + * @param id + * @return + */ + @Override + public Book findBookInfo(String id) { + String sql = "SELECT * FROM t_book WHERE user_id=?"; + + /* + * queryForObject方法中: + * 第一个参数:sql语句 + * 第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面 实现类 完成数据封装 + * 第三个参数:sql 语句值 + */ + return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Book.class), id); + } + + /** + * 所用场景:查询图书列表分页 + * 查询返回集合 + * + * @return + */ + @Override + public List findAllBook() { + String sql = "SELECT * FROM t_book"; + //调用方法 + return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Book.class)); + } + + /** + * 批量添加 + */ + @Override + public void batchAddBook(List batchArgs) { + String sql = "INSERT INTO t_book VALUES(?,?,?)"; + //batchUpdate方法 第一个参数:sql语句 第二个参数:List集合,添加多条记录数据 + int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs); + System.out.println(Arrays.toString(ints)); + } + + /** + * 批量修改(同批量添加一样,调用同一个方法) + */ + @Override + public void batchUpdateBook(List batchArgs) { + String sql = "UPDATE t_book SET username=?,ustatus=? WHERE user_id=?"; + int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs); + System.out.println(Arrays.toString(ints)); + } } \ No newline at end of file diff --git a/src/main/resources/spring23.xml b/src/main/resources/spring23.xml deleted file mode 100644 index e2b5ec922c98f0119d222f74170e67c3c91540b0..0000000000000000000000000000000000000000 --- a/src/main/resources/spring23.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/java/Spring_23_.java b/src/test/java/Spring_23_.java deleted file mode 100644 index ced4e2c681d7b4e9a9666adaf9a314c8fd351c6c..0000000000000000000000000000000000000000 --- a/src/test/java/Spring_23_.java +++ /dev/null @@ -1,24 +0,0 @@ -import com.kwan.spring5.User; -import org.junit.Test; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; - -/** - * jdk动态代理 - * - * @author : qinyingjie - * @version : 2.2.0 - * @date : 2022/11/12 18:43 - */ -public class Spring_23_ { - - @Test - public void test1() { - ApplicationContext ctx = - new ClassPathXmlApplicationContext("spring23.xml"); - User user = ctx.getBean("user",User.class); - user.add(); - System.out.println(user); - } - -} diff --git a/src/test/java/Spring_24_.java b/src/test/java/Spring_24_.java index 359297f0bcd5c4a787e8226717389ac91e8c1ec1..0b95c74e8cf0ae4513ddf70585c5b96184602125 100644 --- a/src/test/java/Spring_24_.java +++ b/src/test/java/Spring_24_.java @@ -15,7 +15,7 @@ public class Spring_24_ { @Test public void test1() { ApplicationContext ctx = - new ClassPathXmlApplicationContext("spring23.xml"); + new ClassPathXmlApplicationContext("spring24.xml"); User user = (User) ctx.getBean("user"); user.add(); System.out.println(user);