SpringBoot集成mybatis实践,源码

一、添加依赖

<dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.12</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17'</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.2.4.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>

    </dependencies>

二、配置mybatis的一些配置 application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=123456


mybatis.mapper-locations= classpath:book.mapper/*.xml
mybatis.type-aliases-package=com.tiza.mybatisDemo.book.model
#mybatis.config-location=classpath:mybatis-config.xml

这种是springboot采用的properties类型的配置,也可以采用手动配置mybatis-config.xml ,在程序加载的时候加载该配置,该配置中主要是一些数据库连接信息,类似于properties中的数据库配置。

注:数据库要先建立好

三、建实体类,

@Data
public class SysUser {

    private Long id;
    private String userName;
    private String userPassword;
    private String userEmail;
    private String userInfo;
    private byte[] headImg;
    private Date createTime;

}

这里的实体类应该与数据库中的对应表一致,在后续的mapper.xml中<resultMap>还要指向这个实体类。

四、建立Mapper接口类

@Mapper 
public interface UserMapper {

    /**
     *
     * @param id
     * @return
     */
    SysUser selectById(Long id);
}

这里的接口实体类,在后续的mapper.xml中<mapper namespace>指向该接口类

也可以做一个实现类,实现这个接口

五、书写mapper.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">

<!-- 名称空间namespace必须唯一 -->
<mapper namespace="com.tiza.mybatisDemo.book.mapper.UserMapper">


    <resultMap id="userMap" type="com.tiza.mybatisDemo.book.model.SysUser">

        <id property="id" column="id"/>
        <result property="userName" column="user_name"/>
        <result property="userPassword" column="user_password"/>
        <result property="userEmail" column="user_email"/>
        <result property="userInfo" column="user_info"/>
        <result property="headImg" column="head_img" jdbcType="BLOB"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>

    <select id="selectById" resultMap="userMap">

        select  * from sys_user where id = #{id}
    </select>

</mapper>

其中resultMap中的type指向数据库对应的实体类,mapper  namespace指向mapper的接口类

 

六、测试

@SpringBootApplication
@MapperScan("com.XXX.mybatisDemo.book.mapper")
public class MybatisTest implements CommandLineRunner {


    @Autowired
    UserMapper userMapper;

    public static void main(String[] args) {
        SpringApplication.run(MybatisTest.class,args);
    }


    public void run(String... args) throws Exception {
        SysUser user =  userMapper.selectById(1L);
        System.out.println(user);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值