发表于: 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层接口放一起
收获:(通过今天的学习,学到了什么知识)
评论