Spring Boot 整合 TKMybatis 二次简化持久层代码的实现

经常用 MyBatis 的的都知道,使用这个框架存在一个非常不友善的问题就是,就是每操作一个单表就需要自己手写一个 xml 文件,虽然说可以用工具生成 xml 和实体类可以解决这个问题,但是二次开发的时候对某个表字段进行修改的时候,生成 xml 文件就不现实啦。最近发现 tk.mybatis 就非常好的解决了这个问题。tk.mybatis 整合了 MyBatis 框架,在其基础上提供了很多工具,封装了常用的增删改查 SQL 语句,可以让我们的开发效率更高。在这里和大家分享一下。

引入依赖

pom.xml 中引入 mapper-spring-boot-starter 依赖

<!-- druid-spring-boot-starter -->
<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid-spring-boot-starter</artifactId>
 <version>1.1.10</version>
</dependency>

<!-- 数据库连接依赖 -->
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>5.1.40</version>
 <scope>runtime</scope>
</dependency>

<!-- mapper-spring-boot-starter -->
<dependency>
 <groupId>tk.mybatis</groupId>
 <artifactId>mapper-spring-boot-starter</artifactId>
 <version>2.0.2</version>
</dependency>

相关配置

application.yml 中添加相关配置

spring:
 datasource:
 druid:
  url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
  username: root
  password: 123456
  initial-size: 1
  min-idle: 1
  max-active: 20
  test-on-borrow: true
  driver-class-name: com.mysql.jdbc.Driver # MySQL 8.x: com.mysql.cj.jdbc.Driver

mybatis:
 type-aliases-package: # 实体类的存放路径,如:com.antoniopeng.hello.spring.boot.entity
 mapper-locations: classpath:mapper/*.xml # mapper.xml 文件存放路径,这里存放在配置文件目录 resources 下

logging:
 level:
 com.antoniopeng.hello.springboot.mybatis: debug # 配置监听日志

Application 入口类中使用 tk.mybatis.spring.annotation 包下的 @MapperScan 注解指定 Mapper 接口的扫描路径

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;

@MapperScan(value = "com.antoniopeng.springboot.mybatis.mapper")
@SpringBootApplication
public class HelloSpringBootMybatisApplication {

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

}

整合 PageHelper 分页插件

引入依赖

pom.xml 中引入 pagehelper-spring-boot-starter 依赖

<!-- pagehelper-spring-boot-starter -->
<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper-spring-boot-starter</artifactId>
 <version>1.2.5</version>
</dependency>

分页查询示例

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
@Transactional
@Rollback
public class MyBatisTests {

 @Autowired
 UserService userService;

 /**
 * 测试分页插件
 */
 @Test
 public void testPageHelper() {

	Example example = new Example(User.class);
	 // 查询条件
  example.createCriteria().andEqualTo("userId", "1")
  // 分页参数
  PageHelper.startPage(1, 10, "create_time desc");
  // 获取分页列表数据
  List<User> userList = userService.selectByExample(example);
  PageInfo pageInfo = new PageInfo(userList);
  // 获取列表总数
  int userCount = (int) pageInfo.getTotal();
 }
}

到此这篇关于Spring Boot 整合 TKMybatis 二次简化持久层代码的实现的文章就介绍到这了,更多相关Spring Boot 整合 TKMybatis 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在SpringBoot中整合使用Netty框架的详细教程

    Netty是一个非常优秀的Socket框架.如果需要在SpringBoot开发的app中,提供Socket服务,那么Netty是不错的选择. Netty与SpringBoot的整合,我想无非就是要整合几个地方 让netty跟springboot生命周期保持一致,同生共死 让netty能用上ioc中的Bean 让netty能读取到全局的配置 整合Netty,提供WebSocket服务 这里演示一个案例,在SpringBoot中使用Netty提供一个Websocket服务. servlet容器本身提

  • TKmybatis的框架介绍和原理解析

    一.TkMybatis Tkmybatis 是基于 Mybatis 框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,不需要写任何 sql 语句,这极大地提高了项目开发效率. 二.怎么用? 1. 引用 在 pom.xml 中引入 tk.mybatis 的引用. <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifact

  • Spring Boot 整合 TKMybatis 二次简化持久层代码的实现

    经常用 MyBatis 的的都知道,使用这个框架存在一个非常不友善的问题就是,就是每操作一个单表就需要自己手写一个 xml 文件,虽然说可以用工具生成 xml 和实体类可以解决这个问题,但是二次开发的时候对某个表字段进行修改的时候,生成 xml 文件就不现实啦.最近发现 tk.mybatis 就非常好的解决了这个问题.tk.mybatis 整合了 MyBatis 框架,在其基础上提供了很多工具,封装了常用的增删改查 SQL 语句,可以让我们的开发效率更高.在这里和大家分享一下. 引入依赖 在 p

  • spring boot整合Shiro实现单点登录的示例代码

    Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权.具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url). 用户分配角色,角色定义权限. 访问授权时支持角色或者权限,并且支持多级的权限定义. Q:对组的支持? A:shiro默认不支持对组设置权限. Q:是否可以满足对组进行角色分配的需求? A:扩展Realm,可以支持对组进行分配角色,其实就是给该组下的所有用户分配权限. Q:对数据权限的支持? 在业务

  • spring boot整合spring-kafka实现发送接收消息实例代码

    前言 由于我们的新项目使用的是spring-boot,而又要同步新项目中建的数据到老的系统当中.原来已经有一部分的同步代码,使用的是kafka. 其实只是做数据的同步,我觉得选MQ没必要使用kafka.首先数据量不大,其实搞kafka又要搞集群,ZK.只是用做一些简单数据同步的话,有点大材小用. 没办法,咱只是个打工的,领导让搞就搞吧.刚开始的时候发现有一个spring-integration-kafka,描述中说是基于spring-kafka做了一次重写.但是我看了官方文档.实在是搞的有点头大

  • spring boot整合kafka过程解析

    这篇文章主要介绍了spring boot整合kafka过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.启动kafka 启动kafka之前一定要启动zookeeper,因为要使用kafka必须要使用zookeeper. windows环境下启动,直接使用kafka自带的zookeeper: E:\kafka_2.12-2.4.0\bin\windows zookeeper-server-start.bat ..\..\config\z

  • Spring Boot 整合 Druid过程解析

    这篇文章主要介绍了Spring Boot 整合 Druid过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和 SQL 解析器组成.该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证.统计 SQL 信息.SQL 性能收集.SQL 注入检查.SQL 翻译等,程序员可以通过定制来实现自己需要的功能. Druid 是

  • Spring boot整合log4j2过程解析

    这篇文章主要介绍了Spring boot整合log4j2过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 以前整合过log4j2,但是今天再次整合发现都忘记了,而且也没有记下来 1.pom.xml中 (1)把spring-boot-starter-web包下面的spring-boot-starter-logging排除 <dependency> <groupId>org.springframework.boot</gr

  • Spring Boot 整合持久层之Spring Data JPA

    目录 整合Spring Data JPA 1. 创建数据库 2. 创建项目 3. 数据库配置 4. 创建实体类 5. 创建 BookDao 接口 6. 创建 BookService 7. 创建 BookController 8. 测试 整合Spring Data JPA JPA (Java Persistence API)和 Spring Data 是两个范畴的概念. Hibernate 是一个 ORM 框架,JPA 则是一种ORM,JPA 和 Hibernate 的关系就像 JDBC 与 JD

  • Spring Boot 整合持久层之JdbcTemplate

    目录 整合JdbcTemplate 创建数据库和表 创建项目 数据库配置 创建实体类 创建数据库访问层 创建 Service 和 Controller 整合JdbcTemplate JdbcTemplate 是 Spring 提供的一套 JDBC 模板框架,利用 AOP 技术来解决直接使用 JDBC 时大量重复代码的问题.JdbcTemplate 虽然没有 Mybatis 灵活,但是比直接使用 JDBC 方便很多.Spring Boot 中对 JdbcTemplate 的使用提供了自动化配置类

  • Spring Boot整合持久层之JPA多数据源

    目录 JPA 多数据源 准备工作 创建 JPA 配置 创建 Repository 创建 Controller JPA 多数据源 JPA 和 MyBatis 配置多数据源类似,不同的是,JPA 配置时主要提供不同的 LocalContainerEntityManagerFactoryBean 以及事务管理器. 项目目录结构如下: 准备工作 创建 Spring Boot Web 项目,添加如下依赖: <dependency> <groupId>org.springframework.b

  • Spring Boot整合持久层之JdbcTemplate多数据源

    目录 多数据源 JdbcTemplate 多数据源 1. 创建数据库 2.创建项目 3. 配置数据库连接 4. 配置数据源 5. 配置 JdbcTemplate 6. 创建BookController 7. 测试 多数据源 所谓多数据源,就是一个 Java EE 项目中采用了不同数据库实例中的多个库,或者同一个数据库实例中多个不同的库.一般来说,采用 MyCat 等分布式数据库中间件是比较好的解决方案,这样可以把数据库读写分离.分库分表.备份等操作交给中间件去做,Java 代码只需要专注于业务即

随机推荐