Spring.xml+jdbcTemplate完成CRUD

约定不等于承诺〃 2022-02-15 10:00 366阅读 0赞

一、目录结构

在这里插入图片描述

二、代码详解

1、bean.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context.xsd">
  9. <!--获取数据源配置文件-->
  10. <context:property-placeholder location="classpath:db.properties"/>
  11. <!--加载数据源-->
  12. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  13. <property name="driverClass" value="${jdbc.driverClass}"/>
  14. <property name="JdbcUrl" value="${jdbc.jdbcUrl}"/>
  15. <property name="user" value="${jdbc.user}"/>
  16. <property name="password" value="${jdbc.password}"/>
  17. </bean>
  18. <!--创建JdbcTemplate-->
  19. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  20. <!--添加dataSource依赖/构造方法依赖注入-->
  21. <constructor-arg name="dataSource" ref="dataSource"></constructor-arg>
  22. </bean>
  23. <!--创建userService-->
  24. <bean id="userService" class="com.mollen.service.impl.UserServiceImpl">
  25. <!--添加userDao依赖/seteter依赖注入-->
  26. <property name="userDao" ref="userDao"></property>
  27. </bean>
  28. <!--创建userDao-->
  29. <bean id="userDao" class="com.mollen.dao.impl.UserDaoImpl">
  30. <!--添加jdbcTemplate依赖-->
  31. <property name="jdbcTemplate" ref="jdbcTemplate"></property>
  32. </bean>
  33. </beans>

2.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.mollen</groupId>
  7. <artifactId>spring_exam</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <dependencies>
  10. <dependency>
  11. <groupId>junit</groupId>
  12. <artifactId>junit</artifactId>
  13. <version>4.12</version>
  14. </dependency>
  15. <dependency>
  16. <groupId>mysql</groupId>
  17. <artifactId>mysql-connector-java</artifactId>
  18. <version>5.1.38</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework</groupId>
  22. <artifactId>spring-jdbc</artifactId>
  23. <version>5.0.2.RELEASE</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>c3p0</groupId>
  27. <artifactId>c3p0</artifactId>
  28. <version>0.9.1.2</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-context</artifactId>
  33. <version>5.0.2.RELEASE</version>
  34. </dependency>
  35. </dependencies>
  36. <build>
  37. <plugins>
  38. <plugin>
  39. <groupId>org.apache.maven.plugins</groupId>
  40. <artifactId>maven-compiler-plugin</artifactId>
  41. <version>3.7.0</version>
  42. <configuration>
  43. <target>1.8</target>
  44. <source>1.8</source>
  45. </configuration>
  46. </plugin>
  47. </plugins>
  48. </build>

3、数据库表:user

在这里插入图片描述

4、数据源配置:db.properties

  1. jdbc.driverClass=com.mysql.jdbc.Driver
  2. jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mybatis_day01
  3. jdbc.user=root
  4. jdbc.password=root

5、service层

1、Userservice.java

  1. package com.mollen.service;
  2. import com.mollen.bean.User;
  3. import java.util.Date;
  4. import java.util.List;
  5. /**
  6. * @ClassName: UserService
  7. * @Auther: Mollen
  8. * @CreateTime: 2018-11-03 19:40:55
  9. * @Description:
  10. */
  11. public interface UserService {
  12. /**
  13. * 1.添加/更新用户
  14. */
  15. public void addOrSaveUser(User user);
  16. /**
  17. * 2.删除用户
  18. */
  19. public void removeUser(Integer id);
  20. /**
  21. * 3.根据id查询用户
  22. */
  23. public User findById(Integer id);
  24. /**
  25. * 4.查询所有用户
  26. */
  27. public List<User> findAll();
  28. }

2、UserserviceImpl.java

  1. package com.mollen.service.impl;
  2. import com.mollen.bean.User;
  3. import com.mollen.dao.UserDao;
  4. import com.mollen.service.UserService;
  5. import java.util.List;
  6. /**
  7. * @ClassName: UserServiceImpl
  8. * @Auther: Mollen
  9. * @CreateTime: 2018-11-03 19:41:22
  10. * @Description:
  11. */
  12. public class UserServiceImpl implements UserService{
  13. private UserDao userDao;
  14. public void setUserDao(UserDao userDao) {
  15. this.userDao = userDao;
  16. }
  17. @Override
  18. public void addOrSaveUser(User user) {
  19. userDao.addOrSaveUser(user);
  20. }
  21. @Override
  22. public void removeUser(Integer id) {
  23. userDao.removeUser(id);
  24. }
  25. @Override
  26. public User findById(Integer id) {
  27. return userDao.findById(id);
  28. }
  29. @Override
  30. public List<User> findAll() {
  31. return userDao.findAll();
  32. }
  33. }

6、dao层:

1、UserDao.java

  1. package com.mollen.dao;
  2. import com.mollen.bean.User;
  3. import java.util.List;
  4. /**
  5. * @ClassName: UserDao
  6. * @Auther: Mollen
  7. * @CreateTime: 2018-11-03 19:40:36
  8. * @Description:
  9. */
  10. public interface UserDao {
  11. /**
  12. * 1.添加/更新用户
  13. */
  14. public void addOrSaveUser(User user);
  15. /**
  16. * 2.删除用户
  17. */
  18. public void removeUser(Integer id);
  19. /**
  20. * 3.根据id查询用户
  21. */
  22. public User findById(Integer id);
  23. /**
  24. * 4.全查用户
  25. */
  26. public List<User> findAll();
  27. }

2、UserDaoImpl.java

  1. package com.mollen.dao.impl;
  2. import com.mollen.bean.User;
  3. import com.mollen.dao.UserDao;
  4. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  5. import org.springframework.jdbc.core.JdbcTemplate;
  6. import java.util.List;
  7. /**
  8. * @ClassName: UserDaoImpl
  9. * @Auther: Mollen
  10. * @CreateTime: 2018-11-03 19:41:46
  11. * @Description:
  12. */
  13. public class UserDaoImpl implements UserDao {
  14. private JdbcTemplate jdbcTemplate;
  15. public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  16. this.jdbcTemplate = jdbcTemplate;
  17. }
  18. @Override
  19. public void addOrSaveUser(User user) {
  20. jdbcTemplate.update("INSERT INTO user VALUES (null,?,?,?,?)",user.getUsername(),user.getBirthday(),user.getSex(),user.getAddress());
  21. }
  22. @Override
  23. public void removeUser(Integer id) {
  24. jdbcTemplate.update("DELETE FROM user where id = ?",id);
  25. }
  26. @Override
  27. public User findById(Integer id) {
  28. try {
  29. return jdbcTemplate.queryForObject("SELECT * FROM user WHERE id = ?",new BeanPropertyRowMapper<User>(User.class), id);
  30. }catch (Exception e){
  31. e.printStackTrace();
  32. return null;
  33. }
  34. }
  35. @Override
  36. public List<User> findAll() {
  37. return jdbcTemplate.query("select * from user",new BeanPropertyRowMapper<User>(User.class));
  38. }
  39. }

7、测试类:Test.java

  1. package com.mollen.test;
  2. import com.mollen.bean.User;
  3. import com.mollen.service.UserService;
  4. import org.junit.After;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import org.springframework.context.ApplicationContext;
  8. import org.springframework.context.support.ClassPathXmlApplicationContext;
  9. import java.text.ParseException;
  10. import java.text.SimpleDateFormat;
  11. import java.util.Date;
  12. import java.util.List;
  13. /**
  14. * @ClassName: test
  15. * @Auther: Mollen
  16. * @CreateTime: 2018-11-05 10:17:54
  17. * @Description:
  18. */
  19. public class MyTest {
  20. private UserService userService;
  21. @Before
  22. public void init(){
  23. //创建web容器
  24. ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
  25. //获取业务层bean对象
  26. userService = (UserService) applicationContext.getBean("userService");
  27. }
  28. @Test
  29. public void test01(){
  30. List<User> users = userService.findAll();
  31. for (User user : users) {
  32. System.out.println(user);
  33. }
  34. }
  35. @Test
  36. public void test02(){
  37. User user = userService.findById(41);
  38. System.out.println(user);
  39. }
  40. @Test
  41. public void test03(){
  42. userService.removeUser(49);
  43. }
  44. @Test
  45. public void test04() throws ParseException {
  46. Date birthday = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2018-02-27 17:47:08");
  47. User user = new User();
  48. user.setUsername("里斯");
  49. user.setBirthday(birthday);
  50. user.setSex("男");
  51. user.setAddress("杭州");
  52. userService.addOrSaveUser(user);
  53. }
  54. @After
  55. public void destory(){
  56. }
  57. }

注:多数据源配置可以根据${ }里面的名字 和 db.properties配置文件里面的名字进行对应来区分

原文:https://blog.csdn.net/mollen/article/details/83748041

发表评论

表情:
评论列表 (有 0 条评论,366人围观)

还没有评论,来说两句吧...

相关阅读