专栏首页sringbootSpringboot集成mybatis通用Mapper

Springboot集成mybatis通用Mapper

文件结构如下

导入的依赖

<dependencies>

        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

配置

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  type-aliases-package: com.duofan.mybatis.persistence.beans
  mapper-locations: classpath:/mybatis/*.xml

StudentMapper

package com.duofan.mybatis.persistence.mapper;

import com.duofan.mybatis.persistence.beans.Student;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * @author duofan  2441051071@qq.com
 */
@Repository
public interface StudentMapper extends Mapper<Student> {
    /**
     * 获取所有学生
     * @return
     */
    List<Student> getAllStudent();
}

StudentMapper.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.duofan.mybatis.persistence.mapper.StudentMapper">
    <resultMap id="rm" type="com.duofan.mybatis.persistence.beans.Student">
        <result property="id" jdbcType="BIGINT" column="id"/>
        <result property="name" jdbcType="VARCHAR" column="name"/>
        <result property="sex" jdbcType="VARCHAR" column="sex"/>
        <result property="age" jdbcType="BIGINT" column="age"/>
    </resultMap>

    <select id="getAllStudent" resultType="com.duofan.mybatis.persistence.beans.Student">
        SELECT * FROM STUDENT
    </select>

</mapper>

测试代码

package com.duofan.mybatis;

import com.duofan.mybatis.persistence.beans.Student;
import com.duofan.mybatis.persistence.mapper.StudentMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import tk.mybatis.spring.annotation.MapperScan;

import java.util.List;

@SpringBootTest
// MapperScan 必须是tk.mybaits 下的mapperscan
@MapperScan("com.duofan.mybatis.persistence.mapper")
class MybatisApplicationTests {

    @Autowired
    private StudentMapper studentMapper;
    @Test
    void contextLoads() {
        System.out.println("Mapper 查询");
        List<Student> students = studentMapper.selectAll();
        students.forEach(student -> System.out.println(student));

        System.out.println("mybatis xml查询");
        List<Student> allStudent = studentMapper.getAllStudent();
        allStudent.forEach(student -> System.out.println(student));
    }

}

输出结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CAS单点登录原理解析(转载)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    多凡
  • SpringMVC @RequestMapping 注解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    多凡
  • springboot快速入门及@SpringBootApplication注解分析

    由一下三个复合而成。 @SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan

    多凡
  • Windows8小技巧(1)—Map Network Drive

    越来越多的企业和个人爱好者都在使用Windows8,但是作为微软新的操作系统,很多功能对于从xp或者vista用户转换过来的,可能显得不是很适应。但是Windo...

    八哥
  • 开放Python书籍:一本短小精悍的初学者入门指南

    项目地址:https://github.com/joaoventura/full-speed-python

    IT派
  • windows注册表研究

    hkey_current_user 位于:%SystemDriver%\document and settings\<用户名>\Ntuser.dat中

    战神伽罗
  • 5.6 vim命令模式

    搜索内容 在命令模式中,用 /root (root为要搜索的内容)去搜索,然后会高亮显示出来,从上往下查找 按 n 键,会从上到下依次显示出搜索内容(搜索到最...

    运维小白
  • Dagger2-从入门到精通(上)

    最近在做项目中,用到了Dagger2,所以找了一些博客和其他的一些学习资源,算是知道如何使用了,但是对其理解还相差很远。所以这篇文章重点针对与使用,和使用中常见...

    g小志
  • 你用java的swing可以做出这么炫的mp3播放器吗?

    这个mp3播放器是基于java的swing编写的,我认为界面还是可以拿出来和大家看一看评一评。

    Hongten
  • 树莓派基本配置与Docker的安装

    https://www.raspberrypi.org/downloads/raspbian/

    緣來

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动