Spring boot用gradle整合mybatis+mybatis-plus

10 篇文章 0 订阅
1 篇文章 0 订阅

Spring boot用gradle整合mybatis+mybatis-plus

一 整合Mybatis

我先展示下我的目录结构在这里插入图片描述
如图:是我的目录结构,下面的文件位置都是根据这个目录结构所写

一.引入依赖

//配置mybatis 数据源
   compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.0")

二.配置application.yml文件

spring:
  datasource:                           # 指定数据源
    url: jdbc:mysql://127.0.0.1:3306/demo?serverTimezone=GMT
    username: root
    password: 
    driver-class-name: com.mysql.jdbc.Driver
mybatis:
    type-aliases-package: com.entity//指定实体类位置
    mapper-locations: classpath:/mybatis/*Dao.xml//指定xml文件位置,classpath代表resources目录下的文件
    check-config-location: true

三.配置config

@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.example.dao*")//启动类中添加这句,扫描dao文件
public class BusApplication {

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

}

Dao文件使用@Mapper注解
以下可以测试了
首先是controller监听

@RestController
public class UserController {

	@Autowired
	private UserService service;
	
	@RequestMapping("/getUser/{id}")
	public User getUser(@PathVariable String id) {
		return service.getUser(id);
	}
}

service文件

@Service
public class UserService {

	@Autowired
	private UserDao dao;
	
	public User getUser(String id) {
		return dao.findById(id);
	}

}

dao文件

@Mapper
public interface UserDao {

	User findById(String id);

}

在xml文件中写findById方法

<?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.dao.UserDao">
	<select id="findById" resultType="com.entity.User" >
		select * from user
		where id = #{id}
	</select>
</mapper>

接下来就可以启动项目访问了
数据库数据
在这里插入图片描述
查询结果
在这里插入图片描述
到这,集成mybatis已经做好了,大家还有更多要学习的可以上官网查看资料
http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html

二 整合mybatis-plus

接着刚刚的操作,首先引入jar包

compile "com.baomidou:mybatis-plus-boot-starter:3.1.0"

接着配置application.yml文件

mybatis-plus:
  mapper-locations: classpath:/mybatis/*Dao.xml
        #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 3
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    logic-delete-value: 1
    logic-not-delete-value: 0
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false

接着创建MybatisPlusConfig文件,可以把刚刚启动类中加的MapperScan删除了

@Configuration
@MapperScan("com.example.dao*")//扫描文件
public class MybatisPlusConfig {

    /*
     * 分页插件,自动识别数据库类型
     * 多租户,请参考官网【插件扩展】
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

配置完成,现在可以测试了
dao继承baseMapper

@Mapper
public interface UserDao extends BaseMapper<User>{

	User findById(String id);

}

接着重新写userservice方法

@Service
public class UserService {

	@Autowired
	private UserDao dao;
	
	public User getUser(String id) {
		User u = new User();
		u = dao.selectById(id);
		return u;
	}
}

运行程序,可以发现已经成功,少写了xml文件,是不是很方便
在这里插入图片描述
官方文档:https://mp.baomidou.com/guide/#特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值