SpringBoot-集成通用mapper
2024-10-08 15:32:49
SpringBoot-集成通用mapper
SpringBoot-集成通用mapper
我们在SpringBoot中整合了MyBatis,但是大量重复的增删改查还是很头疼的问题,MyBatis也给出了解决方案:通用Mapper。
Mapper的作用:自动生成增删改查的SQL语句 大大减化对单表的操作,不过多表操作还是要我们实现的。
首先我们将SpringBoot中的MyBatis启动器删除,加入通用Mapper的启动器(此启动器中已经整合了MyBatis需要的相关依赖)。
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
然后我们需要在Mapper接口中继承Mapper类,其泛型需要指定表对应的Bean对象。(注意导包)
package cn.rayfoo.mapper;
import cn.rayfoo.pojo.Hero;
import tk.mybatis.mapper.common.Mapper;
public interface HeroMapper extends Mapper<Hero> {
}
3. 在Bean对象中加入@Table注解和Id注解,用于指定表名称以及主键如果主键是自增长需要用@KeySql指定,如果查询时要忽某个字段需要使用@Transient指定要忽略的字段。
package cn.ryafoo.core.bean;
import com.sun.javafx.beans.IDProperty;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
* @author 张瑞丰
* @description
* @date 2019/11/14
*/
@Data
@Table(name = "person")
public class Person {
@Id
@KeySql(useGeneratedKeys = true)
private Integer id;
private String name;
@Transient
private Integer age;
}
4. 在启动类上修改MapperScan的包名为通用Mapper的包
package cn.ryafoo.core;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;
@MapperScan("cn.ryafoo.core.mapper")
@SpringBootApplication
public class CoreApplication {
public static void main(String[] args) {
SpringApplication.run(CoreApplication.class, args);
}
}
最新文章
- perl
- 推荐一个Jenkins 插件 Build Failure Analyzer
- PHP从零开始-笔记-面向对象编程的概念
- CentOS 安装 chrome 浏览器
- android button minheight问题
- hdu 5206 Four Inages Strategy
- httpd-2.2
- Using an Interface as a Type
- 原创的基于HTML/CSS/JavaScript的层级目录树
- html文件中文在浏览器中显示乱码问题解决
- 一个Sqrt谋杀触发功能
- Windows下一个ROracle安装与使用
- Android 开发笔记___基本适配器的使用__BaseAdapter
- 深入理解C++ new/delete, new []/delete[]动态内存管理
- Linux下编译安装php7.2
- 9_grep及正则表达式
- 高仿Readhub小程序 微信小程序项目【原】
- vue中eslintrc.js配置最详细介绍
- win10家庭版怎么开启Administrator超级管理员帐户
- 【转】WinRT 中SystemTrigger 构造函数的 SystemTriggerType 参数的解释
热门文章
- 5 HTML脚本&;字符实体&;URL
- 十 Spring的AOP的底层实现:JDK动态代理和Cglib动态代理
- SpringBoot 获得 properties 文件中数据方式
- HDU 5565:Clarke and baton
- android 简单列表对话框(AlertDialog.Builder().setItems())
- js中数值各进制之间的转换
- 设计模式课程 设计模式精讲 9-2 原型模式coding
- 【C++初学者自学笔记一】(把自己刚学到的东西做一下总结,如果有哪些地方不足请留言指正)
- 科软-信息安全实验3-Rootkit劫持系统调用
- 巧用DOS命令合并多个文本文件的内容