mybatis-puls项目创建过程
以今天赵枫学长建的表为例子.
1.创建表
- 建表的时候要注意使用小写和驼峰命名法,意思就是两个单词之间用’_'这个隔开。
- 每个表一定要有主键:主键一般是表名+"_id",一般设置为自动递增
- 表的每个字段一定要有注释
2.创建与数据库对应的实体类entity
这个实体类就是对应数据库里那张学生表
-
首先继承了Model这个类,这是一个泛型类,T就是你这个实体类的名字,有了它你就不用写xml把数据库和实体层连起来了
-
然后就是注释了**@Data**这个注释表示自动给你生成getter和setter函数
@AllArgsConstructor会生成一个包含所有变量,同时如果变量使用了NotNull annotation , 会进行是否为空的校验,全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。
然后就是每个字段上的注释了如果是主键就要加@TableId()表示这是主键,里面需要放一些参数比如我放的IdType.AuTo表示自增,其他参数要去查mybatis-puls官网,@TableField()表示非主键注释,和主键注释一样里面可以放一些参数。
-
还要记住每个字段必须要有注释。
3.创建Mapper接口
这个层主要写一些增删改查。
这个接口继承了BaseMapper 这个也是一个泛型类 T同样也放你实体类的名字,这个类是mybatis-puls里面的,这个类已经帮你写好了大多数基本的增删改查,如果不满足你的需求就需要自己写相关的语句,比如我要通过姓名来返回这个学生的信息,BaseMapper里面就没有,它里面的增删改查基本都是通过主键查找
因为它查找所以就用select注释,注释里面就写SQL语句
@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中(一般通过#{}的方式,${}会有sql注入的问题)。
4.创建Service层
分两步
1.写Service接口
写Service一定要写接口,这个是程序规定的而是我们写代码的人不成文的规定
然后就说我们的Service接口
这个接口呢也是继承了一个mybatis-plus提供的类 是和basemapper对应的 ,它里面提供了很多的接口
basemapper里面有多少增删改查的函数,它就对应了多少接口,这里因为我上面的mapper写了自己的SQL
语句所以这里的接口也要添加上对应的接口函数。
2.实现Service接口
这一层一定要加@service这个注释,不然怎么识别你是service层,这一层就要的调用mapper了。
同样的道理如果你mapper里面什么都没写,这个层也不用写了,但是我mapper里面自己写了SQL语句,所以说就要实现相应的接口。
创建Controller层
Conroller就很简单了,我这里只写了一个mapping,做一个演示,这一层就是调用Service层里的函数来实现。