Spring+SpringMvc+Mybatis整合小Demo
发布人:shili8
发布时间:2025-02-06 17:15
阅读次数:0
**Spring + Spring MVC + MyBatis 整合小 Demo**
在本文中,我们将介绍如何使用 Spring、Spring MVC 和 MyBatis 来构建一个完整的 Web 应用程序。我们将一步步地讲解每个组件的配置和使用方法。
###1.项目结构首先,让我们创建一个新的 Maven项目,名为 `spring-mvc-mybatis-demo`。在项目根目录下创建以下文件:
* `pom.xml`
* `src/main/java/`
+ `com.example.demo.config`
+ `com.example.demo.controller`
+ `com.example.demo.dao`
+ `com.example.demo.entity`
+ `com.example.demo.service`
* `src/main/resources/`
+ `applicationContext.xml`
+ `spring-mvc-config.xml`
###2. pom.xml 配置在 `pom.xml` 文件中,我们需要配置 Maven 的依赖项:
xml<dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.20</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> <!-- Log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.1</version> </dependency> </dependencies>
###3. applicationContext.xml 配置在 `applicationContext.xml` 文件中,我们需要配置 Spring 的应用上下文:
xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" /> xmlns:xsi=" /> xsi:schemaLocation=" /> <!-- MySQL 数据源 --> <bean id="dataSource" class="com.zaxx.spring.jdbc.DataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <!-- MyBatis 配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <!-- MyBatis Mapper --> <bean id="userMapper" class="com.example.demo.dao.UserMapper"> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> </beans>
###4. spring-mvc-config.xml 配置在 `spring-mvc-config.xml` 文件中,我们需要配置 Spring MVC 的应用上下文:
xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" /> xmlns:xsi=" /> xsi:schemaLocation=" /> <!-- Spring MVC 配置 --> <mvc:annotation-driven/> <!-- ViewResolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- DispatcherServlet --> <mvc:dispatcherservlet mapping="/" servlet-name="dispatcherServlet"/> </beans>
###5. UserMapper.java在 `UserMapper.java` 文件中,我们需要定义 MyBatis 的 Mapper 接口:
javapublic interface UserMapper { ListselectAllUsers(); }
###6. UserController.java在 `UserController.java` 文件中,我们需要定义 Spring MVC 的 Controller 类:
java@RestController@RequestMapping("/users") public class UserController { @Autowired private UserMapper userMapper; @GetMapping public ListgetAllUsers() { return userMapper.selectAllUsers(); } }
###7. User.java在 `User.java` 文件中,我们需要定义实体类:
javapublic class User { private Long id; private String name; private Integer age; // getter and setter}
###8. pom.xml 配置在 `pom.xml` 文件中,我们需要配置 Maven 的依赖项:
xml<dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.20</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> <!-- Log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.1</version> </dependency> </dependencies>
###9. applicationContext.xml 配置在 `applicationContext.xml` 文件中,我们需要配置 Spring 的应用上下文:
xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" /> xmlns:xsi=" /> xsi:schemaLocation=" /> <!-- MySQL 数据源 --> <bean id="dataSource" class="com.zaxx.spring.jdbc.DataSource"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <!-- MyBatis 配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <!-- MyBatis Mapper --> <bean id="userMapper" class="com.example.demo.dao.UserMapper"> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean> </beans>
###10. spring-mvc-config.xml 配置在 `spring-mvc-config.xml` 文件中,我们需要配置 Spring MVC 的应用上下文:
xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" /> xmlns:xsi=" /> xsi:schemaLocation=" /> <!-- Spring MVC 配置 --> <mvc:annotation-driven/> <!-- ViewResolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- DispatcherServlet --> <mvc:dispatcherservlet mapping="/" servlet-name="dispatcherServlet"/> </beans>
###11. UserMapper.java在 `UserMapper.java` 文件中,我们需要