TKMybatis
TKMybatis与Mybatis-plus都是mybatis的扩展,有相同的地方,也有不同的地方。
1.导入坐标
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--tk.mybatis依赖-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
需要注意的是,这里mybatis的版本必须在2.0.0+,不然会报错。
2.创建实体类
package com.example.easypoidemoadmin.entity; import lombok.Data; import javax.persistence.Column;
import javax.persistence.Table; /**
* @author zhongyushi
* @date 2020/6/26 0026
* @dec 描述
*/
@Data
@Table(name = "comp")
public class Company {
@Id
@Column(name = "name")
private String name; @Column(name = "logo")
private String logo; @Column(name = "dec1")
private String dec; public Company(String name,String logo,String dec){
this.name=name;
this.logo=logo;
this.dec=dec;
} public Company(){}
}
这里通过Table注解来指定数据库中的表名,默认和实体类相同,这里为了简单,就修改了表名。
3.创建dao接口类
package com.example.easypoidemoadmin.dao; import com.example.easypoidemoadmin.entity.Company;
import tk.mybatis.mapper.common.Mapper; /**
* @author zhongyushi
* @date 2020/6/26 0026
* @dec 描述
*/
@org.apache.ibatis.annotations.Mapper
public interface CompanyDao extends Mapper<Company> { }
通过集成Mapper方法来使用TKMybatis,注意不能把包导错了。
4.启动类添加包扫描
import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication
@MapperScan("com.example.easypoidemoadmin.dao")
这里包扫描的注解也是使用TKMybatis的。
5.controller接口测试
@Autowired
private CompanyDao companyDao;
@GetMapping("/test")
public void test(){
List<Company> companies = companyDao.selectAll();
System.out.println(companies);
}
这里只使用了一个方法,还有一些常用的方法,比如insertSelective,它会只把有值(不为NULL)的属性插入到数据库。其他的雷同,主要包含Selective即可。
6.常用注解
6.1主键自增
mysql:
mysql可以在创建表时指定主键自增,因此在插入数据时不给id的值即可。
oracle:
@KeySql(sql = "select attach.nextval from dual", order = ORDER.BEFORE)
其实就是先创建一个序列,然后在这里去使用序列的值。
创建序列的语句:
create sequence xk_SEQ
increment by 1
start with 1
minvalue 1
maxvalue 9999999
order
cache 20
cycle;
xk_SEQ是序列名称。
7.分页
分页使用插件PageHelper,然后实例化一个PageInfo对象,里面包含了查询的数据列表,数据总条数等等。
public Result getList(String name,String dec, Integer page, Integer limit) {
Map<String,Object> map=new HashMap<>();
map.put("name",name);
map.put("dec",dec);
List<Company> list =comDao.selectBySelective(map);
PageHelper.startPage(page, limit);
PageInfo pageInfo = new PageInfo(list);
return new Result(200, pageInfo.getList(), (int) pageInfo.getTotal(), pageInfo.getPages());
}
.
TKMybatis的更多相关文章
- TkMyBatis大杂烩
1. 什么是TkMyBatis TkMyBatis是一个MyBatis的通用Mapper工具 2. 引入TkMyBatis到SpringBoot项目 以Gradle为例 compile 'tk.myb ...
- SpringBoot集成TkMybatis插件 (二)
一.Tkmybatis的好处 Tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效.这个插件里面封装好了我们需要用到的很多sql语句,不过这个插件是通过我们去调用它封装的各种 ...
- SpringBoot集成TkMybatis插件
前提: 基于SpringBoot项目,正常集成Mybatis后,为了简化sql语句的编写,甚至达到无mapper.xml文件. 在本篇总结教程,不在进行SpringBoot集成Mybatis的概述. ...
- SSM 框架基于ORACLE集成TKMYBATIS 和GENERATOR自动生成代码(Github源码)
基于前一个博客搭建的SSM框架 https://www.cnblogs.com/jiangyuqin/p/9870641.html 源码:https://github.com/JHeaven/ssm- ...
- 10_SpringBoot集成TkMybatis插件
10_SpringBoot集成TkMybatis插件 明天你好向前奔跑 关注 0.5 2018.09.11 11:15 字数 163 阅读 3794评论 0喜欢 3 @Author Jacky Wa ...
- mybatis-generator和TKmybatis的结合使用
mybatis-generator可以自动生成mapper和entity文件,mybatis-generator有三种用法:命令行.eclipse插件.maven插件.这里使用的是maven插件方式, ...
- TKmybatis的框架介绍和原理分析及Mybatis新特性
tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...
- SpringBoot项目里,让TKmybatis支持可以手写sql的Mapper.xml文件
SpringBoot项目通常配合TKMybatis或MyBatis-Plus来做数据的持久化. 对于单表的增删改查,TKMybatis优雅简洁,无需像传统mybatis那样在mapper.xml文件里 ...
- tkmybatis VS mybatisplus
本文是简单对比了以下官网上的内容 文章目录 TkMybatis Vs MybatisPlus 1.基础CRUD BaseMapper 2.代码生成器 3. 全局主键 Sequence主键 4. 热加载 ...
- springboot整合tkmybatis
tkmybatis是什么? tkmybatis是为了简化mybatis单表的增删改查而诞生的,极其方便的使用MyBatis单表的增删改查,在使用mybatis单表增删改查时,可以直接调用tkmybat ...
随机推荐
- UML——活动图
宏观导图 是森马? 活动图,属于UML中动态建模工具图,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程. 其实,说白了 ...
- The Department of Redundancy Department
Write a program that will remove all duplicates from a sequence of integers and print the list of un ...
- 使用eclipse写第一个Java_web的hello_world项目
1.先创建一个Java_web项目 如果你没有下载过Tomcat服务器,不会配置,建议看一下我得这一篇博客:https://www.cnblogs.com/kongbursi-2292702937/p ...
- hdu5643 King's Game(约瑟夫环+线段树)
Problem Description In order to remember history, King plans to play losephus problem in the parade ...
- HDU 1565 方格取数 状压dp
题目: 给你一个n*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大. Input 包括多 ...
- Codeforces Round #660 (Div. 2) Uncle Bogdan and Country Happiness dfs
题目链接:Uncle Bogdan and Country Happiness 题意: t组输入,每组数据输入如下 首先一个n代表有n个城市,所有城市总人数为m,后面输入pi表示第i个城市的居住人数, ...
- Codeforces Round #529 (Div. 3) D. Circular Dance (思维)
题意:有\(n\)个熊小孩,绕着树转圈圈,编号\(i\)的小孩可以记住\(a_{i,1}\)和\(a_{i,2}\)两个小孩,这两个小孩是顺时针相邻的,但谁前谁后不一定.现在给你每个小孩的\(a_{i ...
- Windows下TeamViewer远程控制的安装与使用
Windows下远程控制的安装与使用 由于疫情,在家里写论文,资料数据都在学校,只能远程控制了,选的是TeamViewer. 分为控制机和被控制机,安装使用略有不同. 从该网址安装:https://w ...
- POJ 1742 Coins 【可行性背包】【非原创】
People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony ...
- JavaScript调试技巧之console.log()
与alert()函数类似,console.log()也可以接受变量并将其与别的字符串进行拼接: 代码如下: //Use variable var name = "Bob"; con ...