spring中怎么加载mybatis

fiy 其他 31

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Spring中加载MyBatis主要有两种方式:通过XML配置和通过注解配置。

    一、通过XML配置加载MyBatis

    1. 导入MyBatis和Spring的依赖:

      <!-- MyBatis -->
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.4</version>
      </dependency>
      <!-- Spring -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.9</version>
      </dependency>
      
    2. 创建MyBatis配置文件(例如:mybatis-config.xml),配置数据源、mapper扫描路径等:

      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <environments default="development">
          <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
              <property name="driver" value="com.mysql.jdbc.Driver"/>
              <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
              <property name="username" value="root"/>
              <property name="password" value=""/>
            </dataSource>
          </environment>
        </environments>
        <mappers>
          <mapper resource="mapper/UserMapper.xml"/>
        </mappers>
      </configuration>
      
    3. 在Spring配置文件中引入MyBatis配置文件,并配置MyBatis的SqlSessionFactoryBean和MapperScannerConfigurer:

      <beans>
        <!-- 引入MyBatis配置文件 -->
        <bean class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="configLocation" value="classpath:mybatis-config.xml"/>
        </bean>
        
        <!-- 扫描Mapper接口 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          <property name="basePackage" value="com.example.mapper"/>
        </bean>
      </beans>
      
    4. 创建Mapper接口和对应的Mapper映射文件(例如:UserMapper.java和UserMapper.xml):

      public interface UserMapper {
        User getUserById(int id);
      }
      
      <?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.mapper.UserMapper">
        <select id="getUserById" resultType="com.example.model.User">
          SELECT * FROM user WHERE id = #{id}
        </select>
      </mapper>
      
    5. 在代码中使用注入的Mapper接口:

      public class UserService {
        @Autowired
        private UserMapper userMapper;
      
        public User getUserById(int id) {
          return userMapper.getUserById(id);
        }
      }
      

    二、通过注解配置加载MyBatis

    1. 导入MyBatis和Spring的依赖(同上)。

    2. 在Spring配置文件中配置MyBatis的SqlSessionFactoryBean和MapperScannerConfigurer,并启用注解驱动:

      <beans>
        <bean class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="dataSource" ref="dataSource"/>
        </bean>
        
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          <property name="basePackage" value="com.example.mapper"/>
        </bean>
        
        <mvc:annotation-driven/>
      </beans>
      
    3. 在Mapper接口上使用@Mapper注解:

      @Mapper
      public interface UserMapper {
        @Select("SELECT * FROM user WHERE id = #{id}")
        User getUserById(int id);
      }
      
    4. 在代码中注入Mapper接口:

      public class UserService {
        @Autowired
        private UserMapper userMapper;
      
        public User getUserById(int id) {
          return userMapper.getUserById(id);
        }
      }
      

    通过以上步骤,就可以在Spring中成功加载MyBatis并使用它进行数据库操作了。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Spring中,可以使用Spring的框架整合MyBatis,实现对数据库的访问。

    1. 配置数据源:首先需要在Spring配置文件中配置数据源,用于数据库的连接。可以使用Spring的内置数据源,也可以使用第三方数据源,如C3P0、Druid等。
    <!-- 使用Spring内置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test" />
        <property name="username" value="root" />
        <property name="password" value="password" />
    </bean>
    
    <!-- 使用C3P0数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test" />
        <property name="user" value="root" />
        <property name="password" value="password" />
    </bean>
    
    1. 配置SqlSessionFactoryBean:接下来需要配置SqlSessionFactoryBean,用于创建SqlSessionFactory实例,该实例用于创建SqlSession。
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
    </bean>
    
    1. 配置MapperScannerConfigurer:配置MapperScannerConfigurer,用于扫描MyBatis的Mapper接口,并且将其注册为Spring的bean。
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        <property name="basePackage" value="com.example.mapper" />
    </bean>
    
    1. 编写MyBatis配置文件:创建mybatis-config.xml文件,用于配置MyBatis的一些属性,如数据库方言、缓存等。
    <configuration>
        <settings>
            <setting name="cacheEnabled" value="true" />
            <setting name="lazyLoadingEnabled" value="true" />
            <setting name="aggressiveLazyLoading" value="false" />
        </settings>
        <typeAliases>
            <!-- 配置类型别名 -->
            <package name="com.example.domain" />
        </typeAliases>
    </configuration>
    
    1. 使用注解或XML配置Mapper接口:最后,需要编写Mapper接口,并且使用注解或XML配置该接口的SQL语句。
    // 使用注解配置Mapper接口
    @Mapper
    public interface UserMapper {
        @Select("SELECT * FROM user WHERE id = #{id}")
        User findById(int id);
    }
    
    // 使用XML配置Mapper接口
    public interface UserMapper {
        User findById(int id);
    }
    

    通过上述步骤,就可以在Spring中成功加载并使用MyBatis了。在代码中注入Mapper接口的实现类即可使用MyBatis的功能。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Spring中加载MyBatis可以通过以下几个步骤完成:

    1. 配置数据源:在Spring的配置文件中配置数据库连接信息和数据源。

    2. 配置SessionFactoryBean:创建SessionFactoryBean,并将数据源和MyBatis配置文件配置到SessionFactoryBean中。

    3. 创建Mapper接口:在MyBatis中,通常使用Mapper接口来操作数据库,需要创建Mapper接口并定义要执行的SQL语句。

    4. 配置MapperScannerConfigurer:配置MapperScannerConfigurer,将Mapper接口扫描到Spring容器中。

    5. 配置事务管理器:实现数据库操作的事务管理,确保数据的一致性和完整性。

    下面我将详细介绍每个步骤的操作流程。

    1. 配置数据源

    在Spring的配置文件中,可以使用以下方式配置数据库连接信息和数据源:

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/test" />
        <property name="username" value="root" />
        <property name="password" value="123456" />
    </bean>
    

    根据实际情况修改driverClassNameurlusernamepassword的值。

    2. 配置SessionFactoryBean

    创建SessionFactoryBean,并将数据源和MyBatis配置文件配置到SessionFactoryBean中,代码如下:

    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
    </bean>
    

    configLocation属性指定MyBatis的配置文件位置,根据实际情况修改。

    3. 创建Mapper接口

    在MyBatis中,通常使用Mapper接口进行数据库操作。创建Mapper接口,并在接口中定义要执行的SQL语句,例如:

    public interface UserMapper {
        User getUserById(Integer id);
        void addUser(User user);
        void updateUser(User user);
        void deleteUser(Integer id);
    }
    

    4. 配置MapperScannerConfigurer

    在Spring的配置文件中,配置MapperScannerConfigurer,将Mapper接口扫描到Spring容器中,示例代码如下:

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.example.mapper" />
    </bean>
    

    basePackage属性指定Mapper接口所在的包,根据实际情况修改。

    5. 配置事务管理器

    为了确保数据库操作的一致性和完整性,可以配置事务管理器,在数据库操作时启用事务管理。

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    

    将上述代码添加到Spring的配置文件中。

    通过以上步骤,就可以在Spring中成功加载MyBatis,并使用Mapper接口进行数据库操作。当程序运行时,Spring会自动完成MyBatis的初始化,并将所有的Mapper接口注入到Spring容器中。在需要使用Mapper接口的地方,可以通过注解或自动装配的方式将Mapper接口注入到其他类中,然后调用接口方法即可执行相应的SQL语句。同时,通过配置事务管理器,可以确保数据库操作的一致性和完整性。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部