SpringBoot集成MyBatis的相关要点


SpringBoot集成MyBatis的相关要点

文章插图
 
前言笔者所接触的项目中,大多拥有大量的数据,数据库都采用分表的设计 。本来想分享下分表设计的逻辑,但由于分表都是基于MyBatis的,为了照顾更多的读者,本文先分享在SpringBoot中集成MyBatis的方法,后续将基于此,设计分表的逻辑 。
案例1.主要Maven依赖
MySQL数据库驱动
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-JAVA</artifactId><scope>runtime</scope></dependency>Mybatis的SprignBoot的Starter
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency>2.主要项目配置
配置数据库连接、驼峰命名、mApper路径、domain路径 。
# mysqlspring.datasource.url=jdbc:mysql://127.0.0.1:3306/idempotent?useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=123# mybatismybatis.configuration.map-underscore-to-camel-case=truemybatis.mapper-locations=classpath:mapper/*.xmlmybatis.type-aliases-package=com.example.itspringbootmybatis.domain3.Domain层
数据库表对应的Java对象
@Data@NoArgsConstructor@AllArgsConstructor@Builderpublic class UserInfo {/*** 自增ID*/private Long id;/*** 用户名*/private String name;/*** 用户余额*/private BigDecimal money;/*** 创建时间*/private Date createTime = new Date();}4.Mapper层
这里实例定义了一个获取所有用户数据库的接口
@Mapper@Componentpublic interface UserInfoMapper {/*** 获取所有用户信息** @return 用户*/List<UserInfo> getAll();}对应的SQL
<?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--><mapper namespace="com.example.itspringbootmybatis.mapper.UserInfoMapper"><!--获取所有用户信息--><select id="getAll" resultType="com.example.itspringbootmybatis.domain.UserInfo">select *from user_info;</select></mapper>5.测试
引入接口,调用方法测试
@SpringBootTestclass ItSpringBootMybatisApplicationTests {@Resourceprivate UserInfoMapper userInfoMapper;@Testvoid contextLoads() {System.out.println(userInfoMapper.getAll());}}可以看到结果是正常输出的
SpringBoot集成MyBatis的相关要点

文章插图
 
说明集成完毕
最后本文代码,已经上传到github,详情见如下链接:
【SpringBoot集成MyBatis的相关要点】https://github.com/larger5/spring-boot-mybaits.git




    推荐阅读