Java – MybatisPlus – 基础整合教程

简介

本教程通过快速入门的方式对三种整合MybatisPlus方式进行整理。

 

引入依赖

       <!-- mybatis-plus插件依赖 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.1.1</version>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- 连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.11</version>
        </dependency>
        <!--简化bean代码的工具包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>1.18.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.4</version>
        </dependency>

 

 

Mybatis整合MybatisPlus

MybatisPlus 提供了替代 Mybatis 创建SqlSession的方法 【MybatisSqlSessionFactoryBuilder】

通过【MybatisSqlSessionFactoryBuilder】将会使用MybatisPlus创建【sqlSessionFactory】

    public void testUserList() throws Exception {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //这里使用的是MP中的MybatisSqlSessionFactoryBuilder
        SqlSessionFactory sqlSessionFactory = new MybatisSqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        // 可以调用BaseMapper中定义的方法
        List<User> list = userMapper.selectList(null);
        for (User user : list) {
            System.out.println(user);
        }
    }

 

由【MybatisSqlSessionFactoryBuilder】所生成的【SqlSessionFactory】给我们附带了非常多的通用查询方法,通过Mapper接口继承【BaseMapper<T>】类后,除了可以使用我们自己定义的Mapper接口方法外,还可以通过【getMapper】后调用【selectList】之类的由MybatisPlus提供的内置方法。

public interface UserMapper extends BaseMapper<User> { }

 

 

Spring整合MybatisPlus

Spring 整合主要在于IOC的管理上,MybatisPlus 提供了专用于Spring IOC 管理的Bean类【MybatisSqlSessionFactoryBean】

引入Spring依赖

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.24</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.3.24</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.3.24</version>
</dependency>

 

Spring.xml IOC管理

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
    <!-- 扫描resource目录下的所有properties配置文件 -->
    <context:property-placeholder location="classpath:*.properties"/>
    
    <!-- 定义数据源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          destroy-method="close">
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="maxActive" value="10"/>
        <property name="minIdle" value="5"/>
    </bean>
    
    <!--这里使用MP提供的sqlSessionFactory,完成了Spring与MP的整合-->
    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <!--扫描mapper接口,使用的依然是Mybatis原生的扫描器-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.itcast.mp.simple.mapper"/>
    </bean>
</beans>

重点:

1.因为使用Spring 对 MybatisPlus 进行管理,而MybatisPlus提供的内置查询方法并没有指定查询表名,因此,MybatisPlus 默认以【mp.pojo实体类名】作为默认要查询的表,如Pojo:User类,那么在不设置指定表名的情况下,默认的查询表名为【mp.user】。

2.如要指定查询的表名,可以在POJO实体类上加上注解【@TableName("表名") 】

@TableName("tb_user")
public class User { ... }

 

自动装配Mapper接口

    // 自动装配 Mapper 接口,
    //  因为在Mybatis.xml配置文件中增加了 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">,所以支持自动装配
    @Autowired
    private UserMapper userMapper;
    @Test
    public void testSelectList(){
        List<User> users = this.userMapper.selectList(null);
        for (User user : users) {
            System.out.println(user);
        }
    }

 

SpringBoot整合MybatisPlus

 

 

 

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Java – MybatisPlus – 基础整合教程
简介 本教程通过快速入门的方式对三种整合MybatisPlus方式进行整理。   引入依赖 <!-- mybatis-plus插件依赖 --> <dependency> <groupId&g……
<<上一篇
下一篇>>