美文网首页
SpringBoot集成MyBatis

SpringBoot集成MyBatis

作者: 两句挽联 | 来源:发表于2018-10-09 17:01 被阅读0次

    SpringBoot现在作为一款极其流行的微服务框架,在众多的项目和场景下有着非常广泛的使用,最近就其集成MyBatis踩的一些坑,在这里面和大家说一下,避免后续继续入坑。

    引用软件版本

    见如下pom文件

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.5.RELEASE</version>
        </parent>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
        </dependencies>
    

    项目结构

    如下,我们最关注的是mapperxml和配置文件

    项目结构

    配置文件

    springboot默认使用的配置文件是application.properties,里面需要配置mybatis相关使用的相关信息和数据库信息

    #mybatis mapperxml location
    mybatis.mapperLocations=classpath:com.mapper/*.xml
    #must use spring.datasource prefix
    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
    spring.datasource.username=root
    spring.datasource.password=root
    

    如上,mybatis.mapperLocations指明了使用到的mybatis配置文件地址,会自动扫描这个配置文件。下面是配置的一些数据源的信息,注意,这边默认读取的是以spring.datasource开头的配置

    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.mapper.TTSMapper">
        <insert id="createTask" parameterType="com.po.TTSTask">
            <!-- use uuid as primary key-->
            <selectKey keyProperty="id" resultType="string" order="BEFORE">
                select uuid()
            </selectKey>
            insert into t_tts_task (id,text,creator,status,createTime) values
            (#{id},#{text},#{creator},#{status},#{createTime})
        </insert>
    </mapper>
    

    如上,是一个简单的配置,其中selectKey部分是用来自动生成随机数作为主键的配置。

    mapper类

    @Mapper
    @Repository
    public interface TTSMapper {
    
        int createTask(TTSTask task);
    }
    

    这边要注意的是@Mapper这个注解需要添加,否则无法使用@Autowired注入,另外,添加@Repository是为了防止idea工具提示错误。

    感谢阅读!

    相关文章

      网友评论

          本文标题:SpringBoot集成MyBatis

          本文链接:https://www.haomeiwen.com/subject/zncyaftx.html