mybatis-plus使用,记一次奇怪的问题
使用mybatis-plus 中IService的saveBatch方法遇到的问题:
当Mapper文件类上无@Mapper(org.apache.ibatis.annotations.Mapper)注解时,会自动填充注主键uuid。如果添加了@Mapper注解,则不会自动填充uuid。
后文:
参考:https://blog.csdn.net/u012060033/article/details/128040322
@Repository :@Repository的作用与@Controller,@Service的作用都是把对象交给Spring管理,将接口的一个实现类交给Spring管理。
@Mapper: 这个注解一般使用在Dao层接口上,相当于一个mapper.xml文件,它的作用就是将接口生成一个动态代理类。加入了@Mapper注解,目的就是为了不再写mapper映射文件。这个注解就是用来映射mapper.xml文件的。使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中
@Mapper注解相当于是@Reponsitory注解和@MapperScan注解的和,会自动的进行配置加载。
@MapperScan注解多个包,@Mapper只能把当前接口类进行动态代理。
在SpringBoot的启动类上给定@MapperScan注解。此时Dao层可以省略@Mapper注解,当然@Repository注解可写可不写
当使用@Mapper注解的时候,可以省略@MapperScan以及@Repository。