java项目tkmybatis整合_springboot集成tk mybatis
说明
为了简化开发,可以集成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
java项目tkmybatis整合_springboot集成tk mybatis相关推荐
- java项目tkmybatis整合_SpringBoot集成TkMybatis插件
前提: 基于SpringBoot项目,正常集成Mybatis后,为了简化sql语句的编写,甚至达到无mapper.xml文件. 在本篇总结教程,不在进行SpringBoot集成Mybatis的概述. ...
- java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...
- tkmbatis 日志_springboot+maven+tk.mybatis+generator逆向工程
1.父工程的pom.xml中导入依赖和插件,当前完整的文件如下: 4.0.0 com.sino demo_parent pom 1.0-SNAPSHOT bos org.springframework ...
- 在Java项目中整合Scala
Scala是一个运行在Java JVM上的面向对象的语言.它支持函数编程,在语法上比Java更加灵活,同时通过Akka库,Scala支持强大的基于Actor的多线程编程.具有这些优势,使得我最近很想在 ...
- Java项目:基于jsp+mysql+Spring+mybatis的SSM业务代办帮跑腿管理系统
作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目分为管理员.用户与跑腿小哥三种角色: 跑腿小哥角色包含以下功能: 跑腿小哥登录, ...
- Java项目:基于jsp+mysql+Spring+mybatis的SSM在线中药药方管理系统
作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目分为药房人员.管理员与医生三种角色: 药房人员角色包含以下功能: 药房人员登录, ...
- java web中整合mq_spring-web 集成 rabbitmq
引入java包: 本项目中仅引入了四个java包:amqp-client-5.7.3.jar,spring-rabbit-2.2.2.RELEASE.jar,spring-retry-1.2.4.RE ...
- Java项目使用Redis缓存数据
Java项目使用Redis缓存数据 一.Redis的下载安装 1.下载gcc编译器 yum install gcc-c++ 安装完成后检查是否安装成功,查看版本 gcc --version 2.使用w ...
- MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis
MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...
- 搭建eclipse版的ssm+maven+tk.mybatis+redis及mybatis+spring多数据源配置集成的demo
前言:我这里搭建好eclipse版的ssm+maven+tk.mybatis+redis及mybatis+spring多数据源配置集成的demo.新手快速上手直接看demo. 最后处提供完整高质量de ...
最新文章
- 问题合集 ------- 用 Eclipse 平台进行 C/C++ 开发
- linux下C的一些开发技巧总结
- HDOJ 1896 Stones
- 测试的第一重境界:围着Bug转
- 军工产品元器件筛选标准,军用品测试实验室
- mysql 1093_mysql ERROR 1093 (HY000)
- oracle 11 ora 12514,客户端连接oracle11出现提示ORA-12514:错误解决方法
- 如何搭建云服务器以及使用
- 巫师编程语言“咒语” 设想
- 健身环1536级小结:相当适合码农的锻炼方式
- WPS2017 电子表格/Excel文件保护密码忘记了?
- 参加高中毕业十年同学会有感
- Unity制作RPG游戏——战斗注视LockOn实现方法
- 小学计算机课程课堂导入视频教程,第四届全国小学信息技术优质课观摩心得
- 关于mysql的utf8、utf8mb3、utf8mb4
- sentence Bert解读及代码示例
- ①、企业快速开发平台Spring Cloud之HTML 简介
- matlab网页制作代码
- 纯JS实现兼容IE8的多文件下载
- 联网游戏怎样修改服务器,Kaillera—-游戏联网服务器搭建
热门文章
- Android 笔记 json GSON,Android中使用Gson解析JSON数据
- [已实现]暴力破解路由器管理密码
- MATLAB高斯平顶化,一种高斯光束变换为平顶光束整形透镜的粒子群设计方法与流程...
- c语言运算符优先级(c语言运算符优先级由高到低的顺序)
- SRIO学习(三)——SRIO包
- 51单片机定时器实现PWM波
- arctanx麦克劳林公式推导过程_经典卢瑟福散射公式的初等推导
- 软件设计模式期末大作业——可乐商城管理系统
- Mac可以把html做成壁纸吗,「iWall」Mac动态桌面软件就用这款,还可使用网页作为桌面背景...
- 小米便签开源项目本地环境搭建与分析