zoukankan      html  css  js  c++  java
  • SpringBoot配置mybatis使用的两种方式

    目前在SpringBoot中的使用Mybatis的pom文件是

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

    1. 注解版本

    添加相关的依赖

    <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>2.0.0</version>
            </dependency>
            <!--         mysql-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <!--         lombok 自动创建bean的 -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>

    添加properties配置文件

    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=root

    配置完后,SpringBoot会加载spring.datasource的所有配置。数据源就会自动注入到 sqlSessionFactory 中,sqlSessionFactory 会自动注入到 Mapper 中。

    在主类上开启mapper包扫描

    @MapperScan("com.yuanzhou.mybatis.mapper")
    @SpringBootApplication
    public class MybatisApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(MybatisApplication.class, args);
        }
    
    }

    创建mapper接口,在方法上方添加各项注解

    public interface UserMapper {
        
        @Select("select * from user")
        @Results({
            @Result(property="id", column="id"),
            @Result(property="name", column="name"),
            @Result(property="age", column="age"),
            @Result(property="email", column="email")
        })
        List<User> userList();
    }

    之后测试是正确能读取到的

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class MybatisTestCase {
        
        @Autowired
        UserMapper userMapper;
        
        @Test
        public void selectTest() {
            
            List<User> list = userMapper.list();
            list.forEach(System.out::println);
        }
        
    }

     2.XML版本(前公司使用的)

    在properties文件中添加如下配置:

    #实体类映射地址(我这里和mapper文件放在一起了,impl文件夹等同于mapper接口的实现了)
    mybatis.mapper-locations=classpath:com/yuanzhou/mybatis/mapper/impl/*.xml

    在上述位置中添加user的映射文件

    <?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.yuanzhou.mybatis.mapper.UserMapper">
    
    <resultMap id="BaseResultMap" type="com.yuanzhou.mybatis.entity.User">
        <id property="id" column="id" jdbcType="VARCHAR"></id>
        <result property="name" column="name" jdbcType="VARCHAR"></result>
        <result property="age" column="age" jdbcType="VARCHAR"></result>
        <result property="email" column="email" jdbcType="VARCHAR"></result>
    </resultMap>
    
    <sql id="BaseColumnList">id, name, age, email</sql>
    
    
    <select id="getList" resultMap="BaseResultMap">
        select <include refid="BaseColumnList" /> from user
    </select>
    
    </mapper>

    mapper层直接写简单的接口方法就可以了,相较之前的版本,直接把注解删除即可

    个人角色第二种方法更简洁一下,接口里看起来更加干净

  • 相关阅读:
    字符串替换
    字符串查找
    字符串比较
    字节与字符串相互转换
    1365. How Many Numbers Are Smaller Than the Current Number
    1486. XOR Operation in an Array
    1431. Kids With the Greatest Number of Candies
    1470. Shuffle the Array
    1480. Running Sum of 1d Array
    【STM32H7教程】第56章 STM32H7的DMA2D应用之刷色块,位图和Alpha混合
  • 原文地址:https://www.cnblogs.com/yuan-zhou/p/12715389.html
Copyright © 2011-2022 走看看