发表于: 2019-05-28 19:41:58

1 515


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

springboot整合通用mapper

1、引pom文件

<!--通用mapper插件-->
<dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>2.1.5</version>
</dependency>

2、编写yml配置文件

mapper:
mappers: cn.lzp.ceshidemo.config.CrudMapper    //通用mapper接口
 identity: MYSQL   //数据库类型

3、写一个接口继承通用mapper


public interface CrudMapper<T>extends Marker, BaseMapper<T> {

}

注意:1、通用mapper接口使用泛型 2、通用mapper接口不要和我们的正常DAO层接口放一起(放一起会找不到通用mapper接口的XML文件错误)

 4编写我们自己的DAO层接口继承通用mapper接口

@Repository
public interface PermissionMapper extends CrudMapper<Permission> {
Permission selectbynameanddescritpion(@Param("name") String name, @Param("descritpion")String descritpion);
}

此时简单的SQL语句就可以不用写了直接调用通用mapper的,复杂点的可以和以前一样在xml文件中手写sql语句

例: 测试类中执行两个方法

@Test
       public void test(){
System.out.println(service.selectbyid(1));
   System.out.println(service.selectbynameanddescritpion("测试","测试"));
}

selectbyid就是通用mapper提供的方法。

而selectbynameanddescritpion是我们在xml中自己手写的sql。

实体类(别名映射)

@Table(name = "permission")  //表名
public class Permission {
@Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)  //返回主键自增值
private Integer id;
   @Column(name = "name")
private String name;
   @Column(name = "descritpion")
private String descritpion;
   @Column(name = "url")
private String url;
   @Column(name = "pid")
private Integer pid;
   @Column(name = "method")
private String method;

明天计划的事情:(一定要写非常细致的内容) 
遇到的问题:(遇到什么困难,怎么解决的) 

boot整合通用mapper时报了一堆错,例如

1、找不到泛型类 原因:yml文件中mapper.mappers

2、找不到xml文件 原因:通用mapper的接口和普通的dao层接口放一起

收获:(通过今天的学习,学到了什么知识)


返回列表 返回列表
评论

    分享到