一、MybatisPlus的注解的介绍问题:,接下来我们就来聊聊关于mybatis plus使用教程?以下内容大家不妨参考一二希望能帮到您!
mybatis plus使用教程
一、MybatisPlus的注解的介绍
问题:
在使用MybatisPlus后,我们不用再声明Sql语句了,只需要我们的Mapper
接口继承BaseMapper接口即可拥有对应的CRUD操作。通过我们之前的学习
我们发现,MyBatisPlus其实在根据我们的实体类来动态的生成对象的Sql语句
默认会按照类名即是对应的表的表名,属性名即是对应的表的字段名。但是如果
实体类名和表名不一致,或者属性名和字段名不一致怎么办?
解决:
在实体类上使用注解表名对应的映射关系。
注意:
建议大家在开发时尽量保证实体类和表之间的对应关系是相同的。这样就不用
声明注解。
二、常用注解及其作用
1.@TableName注解
作用:表明实体类对应的数据库表
使用:在类名上使用,值为对应的表的表名
示例:
官方说明:
2.@TableId
作用:表明类中的某个属性为主键字段对应的属性
使用:在为主键的属性上使用
示例:
官方说明:
3.@TableField
作用:表明普通属性映射的表中的字段,值为字段名
使用:在普通属性上使用
示例:
官方说明:
查询的时候数据库表没有这个字段:需要用到这个注解:
三、MybatisPlus中获取自增的主键值
在Mybatis中需要使用 useGeneratedKeys,keyProperty,keyColumn 设置自增主键值得回返,在实体类对象中获取即可。在MybatisPlus中在进行数据新增时,在新增成功后,会自动地将自增的主键值返回到实体类对象中,前提是需要在实体类中使用@TableId表明主键字段,并且为自增类型。
@Test
public void testInsert(){
//创建一个学生
Student stu = new Student();
stu.setSname("黄药师");
stu.setSage(70);
stu.setSphone("1234");
stu.setSsex("1");
int insert = studentMapper.insert(stu);
System.out.println("stu = " stu);
}