场景
Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。
ActiveRecord 一直受动态语言(PHP 、Ruby等)的喜爱,而java作为准静态语言,对于ActiveRecord只能感叹其优雅,所以MP在AR道路上进行了一定的探索。
项目搭建专栏:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194
基础搭建:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89407994
实现
如何使用AR模式
让实体类继承Model类并实现主键指定方法。
找到我们的实体类Employee
使其继承Model<Model>,然后重写其方法
/***
* 必须指定当前实体类的主键属性
*/
@Override
protected Serializable pkVal() {
// TODO Auto-generated method stub
return id;
}
并将当前实体类的主键返回。
完整Employee代码:
package com.badao.beans;
import java.io.Serializable;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.mchange.util.FailSuppressedMessageLogger;
@TableName(value="employee")
public class Employee extends Model<Model>{
@TableId(value="id",type=IdType.AUTO)
private Integer id;
//@TableField(value="last_name")
private String name;
private String email;
private Integer gender;
private Integer age;
@TableField(exist=false)
private String remark;
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getGender() {
return gender;
}
public void setGender(Integer gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
/***
* 必须指定当前实体类的主键属性
*/
@Override
protected Serializable pkVal() {
// TODO Auto-generated method stub
return id;
}
}