[size=large]头一篇博文说了整合了spring boot和mybatis大家都可以对后台数据进行操作但是如何才能进行高效的操作数据库节省代码,下面来一起谈论哈mybatis的通用mapper。

第一章:pom文件解释

maven的pom文件里面需要引进什么依赖呢?

<dependency>
<!--工具接口类用来实体mapper继承 -->
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>

引进com.github.jsqlparser是对tk.mybatis的支撑:例如我们一些简单的complainMapper.selectAll()的查询所有操作不用再去mybatis的xml写一个查询直接用mapper点就会有很多的方法出来,这里的com.github.jsqlparser会帮我们把这些方法解析为sql,当然这里的mapper必须继承一些东西下面仔细讲解,怎么继承,怎么使用。

第二步:基类mapper和子类mapper

1.首先我们创建一个类用来继承通用mapper

public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {

}

2.实体mapper再来继承我们创建的BaseMapper接口

public interface ComplainMapper extends BaseMapper<Complain>{
}

3.我把实体类给出来

@Table(name="complain")
public class Complain {
@Id
private Integer id;
@Column
private String openId;//用户名
@Column
private Date complainTime;//投诉时间
@Column
private Date replyTime;//回复时间
@Column
private Integer replyName;//回复名字
@Column
private Date createTime;//创建时间
@Column
private String complainContent;//投诉内容
@Column
private String replyContent;//回复内容
@Column
private Date updateTime;//更新时间

get  set我就不给出来了

4.操作ComplainMapper

我们现在不用写xml直接来看ComplainMapper里面给我们提供了那些方法







我们现在可以明确看到已经有了很多的方法了,这些方法可以够我们进行一些简单的操作也方便了我们少写一些xml配置和接口代码,相信大家只要按照这个步骤来都可以实现简单的crud

5.实现模糊查询

 public List<Complain> selectComplainNoReplyContent() {
// tk -mybatis
Example example = new Example(Complain.class);
// replyContent对应数据库字段hha则是查询是否有hha相等于select *from complian where reply_complian="hha"
example.createCriteria().andEqualTo("replyContent", "hha");
return complainMapper.selectByExample(example);
}

之只是一个例子还有很多模糊查询的样式大家可以去慢慢探索

6.我这个环境是在头一个博文的环境下搭建的,我下面也把代码给出来。。。。大家可以进行一些cuud了,最近也是有点忙跟新很慢希望大家谅解

[/size]

mybatis spring boot深入的更多相关文章

  1. mybatis+spring boot, mapper 提示Could not autowire. No beans of … type found

    工具及背景: IntelliJ IDEA 2016.1.3 Ultimate.spring boot, maven项目,利用mybatis 注解的方式查询mysql. 业务逻辑关系:controlle ...

  2. spring boot:配置shardingsphere(sharding jdbc)使用druid数据源(druid 1.1.23 / sharding-jdbc 4.1.1 / mybatis / spring boot 2.3.3)

    一,为什么要使用druid数据源? 1,druid的优点 Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 但spring ...

  3. spring boot:使用分布式事务seata(druid 1.1.23 / seata 1.3.0 / mybatis / spring boot 2.3.2)

    一,什么是seata? Seata:Simpe Extensible Autonomous Transcaction Architecture, 是阿里中间件开源的分布式事务解决方案. 前身是阿里的F ...

  4. Parameter 0 of method sqlSessionTemplate in org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration required a single bean, but 2 were found:

    Parameter 0 of method orderSqlSessionFactory in com.config.MultipleDBConfig required a single bean, ...

  5. mybatis+spring boot+vue

    参考https://www.cnblogs.com/wlovet/p/8317282.html

  6. spring boot(六):如何优雅的使用mybatis

    *:first-child{margin-top: 0 !important}.markdown-body>*:last-child{margin-bottom: 0 !important}.m ...

  7. 超简单,spring boot 添加mybatis

    看了很多人写的博客,要么太复杂,要么没有添加xml的方式,自己亲自配置了一下,供各位参考. 项目截图 1.添加pom文件 <!-- 设置mybatis --> <dependency ...

  8. Spring Boot 4 MyBatis

    SpringBoot内使用MyBatis,可以不使用xml映射配置,通过注解方式映射. pom.xml添加依赖 <dependency> <groupId>org.mybati ...

  9. Spring Boot MyBatis 连接数据库

    最近比较忙,没来得及抽时间把MyBatis的集成发出来,其实mybatis官网在2015年11月底就已经发布了对SpringBoot集成的Release版本,Github上有代码:https://gi ...

随机推荐

  1. android的图片的初步学习理解

    Android支持JPEG和PNG格式.GIF和BMP格式图片的支持. 图片最终要显示在屏幕上,都会对应一个屏幕上的点,即对应一个颜色值.不同格式的图片,只是不同压缩编码和解压算法. 也就是说,我们看 ...

  2. bootstrap 折叠collapse失效

    手动点击折叠,然后调用折叠全部以后,在手动点击折叠项,折叠失效. 方法,折叠项是通过添加或删除".in"来实现,实现如下 $(".collapse.in").c ...

  3. Java泛型:List<?>与List的区别

    为什么说List<?>是type-safe而List不是type-safe的? 1.List<?> compiler看到了你使用了wildcard ?,那么相当于你对compi ...

  4. iserver-数据库型数据源导入后原dataset名称和数据库表名不一致的问题

    一.发现问题 系统中发现某个房屋的分层平面图查询不到 1.去sqlserver空间库中查询发现这个表‘房间_100200T001D001’不存在 2.在工作空间中查询发现是有这个数据集的 二.解决问题 ...

  5. PAT 1013 数素数 (20)(代码)

    1013 数素数 (20)(20 分) 令P~i~表示第i个素数.现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数. 输入格式: 输入在一行中给出M和N, ...

  6. 基于稀疏表(Sparse Table)的RMQ(区间最值问题)

    在RMQ的其他实现方法中,有一种叫做ST的算法比较常见. [构建] dp[i][j]表示的是从i起连续的2j个数xi,xi+1,xi+2,...xi+2j-1( 区间为[i,i+2j-1] )的最值. ...

  7. 品味性能之道<十一>:JAVA中switch和if性能比较

    通常而言大家普遍的认知里switch case的效率高于if else.根据我的理解而言switch的查找类似于二叉树,if则是线性查找.按照此逻辑推理对于对比条件数目大于3时switch更优,并且对 ...

  8. 解决linux ubuntu不能识别华为手机的问题--升级内核

    敝人手中有一个华为mate8,但是debian, ubuntu及一系列衍生版均不能识别.只能识别出一个华为手机助手,但是无法使用华为的内置存贮. 在fedora上是可以完美使用的. 归根到底的原因,是 ...

  9. 安装linux子系统, 如何用win10 里面的linux子系统来进行通信

    cd /mnt/d/linux_share即可 就把linux_share这个目录挂载到linux里面了.这样windows和linux可以同时修改和访问这个文件夹里面的内容. 安装:cmd中输入ba ...

  10. Java SE学习【一】

    学java也学了有1个多月了,算算时间,花在上面的时间应该是超过了100个小时了,现在的进度是变量.循环.分支.数组学完了,面向对象部分正在学.记录一下我在学习期间遇到的一些困惑与感想吧! 1.一开始 ...