如何在SpringMvc中配置Mybatis

avatar
作者
猴君
阅读量:0

在 Spring MVC 中配置 MyBatis,需要遵循以下步骤:

  1. 添加依赖

在项目的 pom.xml 文件中添加 MyBatis 和 MyBatis-Spring 相关的依赖。例如:

<dependencies>     <!-- Spring MVC -->     <dependency>         <groupId>org.springframework</groupId>         <artifactId>spring-webmvc</artifactId>         <version>${spring.version}</version>     </dependency>      <!-- MyBatis -->     <dependency>         <groupId>org.mybatis</groupId>         <artifactId>mybatis</artifactId>         <version>${mybatis.version}</version>     </dependency>      <!-- MyBatis-Spring -->     <dependency>         <groupId>org.mybatis</groupId>         <artifactId>mybatis-spring</artifactId>         <version>${mybatis-spring.version}</version>     </dependency>      <!-- 数据库驱动、连接池等其他依赖 --> </dependencies> 
  1. 配置数据源

在 Spring 配置文件(如 applicationContext.xml)中配置数据源,例如使用 HikariCP 连接池:

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">     <property name="driverClassName" value="${jdbc.driver}" />     <property name="url" value="${jdbc.url}" />     <property name="username" value="${jdbc.username}" />     <property name="password" value="${jdbc.password}" /> </bean> 
  1. 配置 SqlSessionFactory

在 Spring 配置文件中配置 SqlSessionFactory,用于创建 SqlSession 对象:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">     <property name="dataSource" ref="dataSource" />     <property name="configLocation" value="classpath:mybatis-config.xml" />     <property name="mapperLocations" value="classpath*:mapper/*.xml" /> </bean> 
  1. 配置 MapperScannerConfigurer

在 Spring 配置文件中配置 MapperScannerConfigurer,用于扫描Mapper接口并自动创建映射文件:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">     <property name="basePackage" value="com.example.dao" />     <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> 
  1. 编写 Mapper 接口和映射文件

在指定的包下创建 Mapper 接口,例如 UserDao.java:

package com.example.dao;  import com.example.model.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;  import java.util.List;  @Mapper public interface UserDao {     @Select("SELECT * FROM user")     List<User> findAll(); } 

创建对应的映射文件,例如 UserDao.xml:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.dao.UserDao">     <resultMap id="UserResultMap" type="com.example.model.User">         <id property="id" column="id" />         <result property="username" column="username" />         <result property="password" column="password" />     </resultMap>      <select id="findAll" resultMap="UserResultMap">         SELECT * FROM user     </select> </mapper> 
  1. 在 Controller 中使用 Mapper

在 Spring MVC 的 Controller 中,通过注入的方式使用 Mapper:

package com.example.controller;  import com.example.dao.UserDao; import com.example.model.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;  import java.util.List;  @RestController public class UserController {     @Autowired     private UserDao userDao;      @GetMapping("/users")     public List<User> findAll() {         return userDao.findAll();     } } 

至此,MyBatis 已成功配置在 Spring MVC 中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!