java项目tkmybatis整合_springboot集成tk mybatis

本文介绍了如何在SpringBoot项目中集成tk-mybatis,tk-mybatis是基于Mybatis的增强工具,简化了开发流程。文章详细展示了配置依赖、数据库连接、BaseMapper接口、Service与Impl实现、实体类以及控制器的设置,最后通过测试验证了整合的正确性。
摘要由CSDN通过智能技术生成

说明

为了简化开发,可以集成tk,tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具。

引入依赖

集成tkmybatis就不需要再次引入mybatis的相关包了,已经被封装提在tk中。

org.springframework.boot

spring-boot-starter-web

tk.mybatis

mapper-spring-boot-starter

2.1.5

mysql

mysql-connector-java

runtime

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

application.properties

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mymall?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true&serverTimezone=UTC&useSSL=false&allowMultiQueries=true

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.type-aliases-package=com.tk.mybatis.demo.entity

logging.level.com.tk= debug

BaseTkMapper.java

importtk.mybatis.mapper.common.Mapper;importtk.mybatis.mapper.common.MySqlMapper;/***@authorlpg

* @description: 增强mapper基类,支持批量操作,其他mapper继承此mapper

* @date 2020/10/2 16:04*/

public interface BaseTkMapper extends Mapper, MySqlMapper{

}

MymallMapper.java

importcom.tk.mybatis.demo.entity.MymallRole;importorg.apache.ibatis.annotations.Mapper;

@Mapperpublic interface MymallMapper extends BaseTkMapper{

}

MymallService.java

importcom.tk.mybatis.demo.entity.MymallRole;importjava.util.List;public interfaceMymallService {

ListgetRoles();

}

MymallServiceImpl.java

importcom.tk.mybatis.demo.entity.MymallRole;importcom.tk.mybatis.demo.mapper.MymallMapper;importcom.tk.mybatis.demo.service.MymallService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importtk.mybatis.mapper.entity.Example;importjava.util.List;

@Servicepublic class MymallServiceImpl implementsMymallService {

@AutowiredprivateMymallMapper mymallMapper;

@Overridepublic ListgetRoles() {

Example example= new Example(MymallRole.class);

example.selectProperties("name","enabled");returnmymallMapper.selectByExample(example);

}

}

BaseTkEntity.java

packagecom.tk.base.common;importcom.fasterxml.jackson.annotation.JsonFormat;importlombok.Data;importorg.springframework.format.annotation.DateTimeFormat;importtk.mybatis.mapper.annotation.LogicDelete;importjavax.persistence.Column;importjava.util.Date;

@Datapublic abstract classBaseTkEntity {/*** 删除状态

* 0:未删除

* 1:已删除*/@Column(name= "deleted")

@LogicDelete(isDeletedValue= 1,notDeletedValue = 0)protectedBoolean deleted;/*** 创建时间*/@JsonFormat(pattern= "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

@DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")

@Column(name= "create_time")protectedDate createTime;/*** 创建人*/@Column(name= "create_user")protectedString createUser;/*** 最近更新时间*/@JsonFormat(pattern= "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

@DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")

@Column(name= "update_time")protectedDate updateTime;/*** 更新人*/@Column(name= "update_user")protectedString updateUser;/*** 设置创建人和创建时间

*

*@parambaseEntityObj baseEntity的子类对象

*@param 对象类型*/

public voidsetUserAndTime(T baseEntityObj) {this.createTime =baseEntityObj.getCreateTime();this.createUser =baseEntityObj.getCreateUser();this.updateTime =baseEntityObj.getUpdateTime();this.updateUser =baseEntityObj.getUpdateUser();

}

}

MymallRole.java

importlombok.Data;importjavax.persistence.Column;importjava.util.Date;

@Datapublic classMymallRoleextends BaseTkEntity

{private intid;privateString name;privateString desc;privateBoolean enabled;}

MyMallController.java

importcom.tk.mybatis.demo.service.MymallService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RestController;

@RestControllerpublic classMyMallController {

@AutowiredprivateMymallService mymallService;

@GetMapping("mall")publicString getRoles(){returnmymallService.getRoles().toString();

}

}

验证测试

启动服务,浏览器输入http://localhost:8080/mall

d1bd9818b299c9ce7010e161ad532206.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值