记录一些通用mapper的需求- springboot+mybatis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一些通用mapper的需求- springboot+mybatis相关的知识,希望对你有一定的参考价值。

参考技术A ps. 实践了一下发现,当列表为空时,使用 subList() 会报错,严谨一点,还是先判断列表长度是否大于坐标值吧。

用上一篇文章的数据,同一个数据表operation,同一个 num 作业有连续三条纪录,分别用 type 表示不同流程,用 finish_flag 记录该流程完成情况 ,多加一列属性 terminal_flag 表示终止修改标志。表记录如下:

需求:
1、同一个 num,当流程(type )0 和 1 完成时,分别把 finish_flag 改为 1,流程(type )0 和 1 可以同时进行,当流程(type )0 和 1 都完成时,可进行流程(type )2。表记录应该如下:

实现该需求的通用mapper语句如下:

同样是上面的数据表operation,需求是想获取所有记录,但是记录按流程分类,接口文档测试返回数据如下:

步骤:
1、先用一个实体类将 type 和 List<Operation> 封装起来。
2、查询不同 type 的 List<Operation> 增加进这个类的对象里。

结果为:
-1

结果为:
false

SQL 的查询语句为:

java中如果有一个 List<Integer> 类型的数组 list 放两个整型数字1和2
通用mapper的查询语句为:

如果 list 将被传入 xml 中,则查询语句如下:

参考链接: http://t.zoukankan.com/supiaopiao-p-12326011.html

@MapperScan注解

我们在mapper的接口上使用@Mapper注解,在编译之后会生成相应的接口实现类,这样每个mapper接口上都要使用@Mapper注解,这样太麻烦了,我们可以使用@MapperScan注解

 

1.@MapperScan注解的使用

Springboot启动类上面添加@MapperScan注解,就指定mapper接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类

@SpringBootApplication
@MapperScan(basePackages= {"com.qingfeng.mapper"})
public class Application {

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

}

 

使用扫描多个mapper,用逗号分隔开

@SpringBootApplication
@MapperScan(basePackages= {"com.qingfeng.mapper","com.qing.mapper"})
public class Application {

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

}

  

以上是关于记录一些通用mapper的需求- springboot+mybatis的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Mybatis通用Mapper使用方法_java - JAVA

通用mapper中的select方法的注意点

Mybatis插件:自定义插件分页及通用Mapper

@MapperScan注解

@MapperScan注解

Mybatis-Plus通用Mapper CRUD之insert(附带视频教程)