entity
/**
* java Bean
* @author Administrator
*
*/
//@TableName(value="tb_employee")
public class Employee extends Model<Employee>
{
//@TableId(value="id",type=IdType.AUTO)// value 指定数据库中对应列名, type 主键使用的策略
private Integer id;
@TableField(value="last_name")
private String lastName;
private String email;
private Integer gender;
private Integer age;
@TableField(exist=false)
private Double salary;
public Employee() {
super();
}
public Employee(String lastName, String email, Integer gender, Integer age) {
super();
this.lastName = lastName;
this.email = email;
this.gender = gender;
this.age = age;
}
public Employee(Integer id, String lastName, String email, Integer gender, Integer age) {
super();
this.id = id;
this.lastName = lastName;
this.email = email;
this.gender = gender;
this.age = age;
}
public Employee(Integer id, String lastName, String email, Integer gender, Integer age, Double salary) {
super();
this.id = id;
this.lastName = lastName;
this.email = email;
this.gender = gender;
this.age = age;
this.salary = salary;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
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
public String toString() {
return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender + ", age="
+ age + "]";
}
//哪个属性是当前实例类的主键
@Override
protected Serializable pkVal() {
return id;
}
}
mapper
/**
*
* @author Ezerbel
*
* 基于Mybatis: 在Mapper接口中编写CRUD相关方法,提供Mapper接口所对应的SQL映射文件以及方法对应的SQL语句
* 基于MP: 让XxxMapper接口继承BaseMapper接口即可。
*
*/
public interface EmployeeMapper extends BaseMapper<Employee>{
}
使用AR
插入
@Test
public void testARInsert() {
Employee employee = new Employee();
employee.setLastName("Ezerbel");
employee.setEmail("EzerbelCN@gamail.com");
employee.setAge(19);
employee.setGender(1);
boolean res = employee.insert();
System.out.println("res ========= " + res);
}
更新
@Test
public void testARUpdate() {
Employee employee = new Employee();
employee.setLastName("Ezerbel");
employee.setEmail("EzerbelCN@gamail.com");
employee.setAge(36);
employee.setGender(1);
employee.setId(28);
employee.updateById();
}
查找
@Test
public void testARSelect1() {
Employee employee = new Employee();
Employee res = employee.selectById(7);
System.out.println(res);
}
@Test
public void testARSelect2() {
Employee employee = new Employee();
employee.setId(9);
Employee res = employee.selectById();
System.out.println(res);
}
@Test
public void testARSelect3() {
Employee employee = new Employee();
List<Employee> res = employee.selectAll();
res.forEach(System.out::println);
}
@Test
public void testARSelect4() {
Employee employee = new Employee();
List<Employee> res = employee.selectList(new EntityWrapper<Employee>().like("last_name", "x"));
res.forEach(System.out::println);
}
删除
@Test
public void testARDelete1() {
Employee employee = new Employee();
boolean res = employee.deleteById(29);
System.out.println("res ========= " + res);
}
@Test
public void testARDelete2() {
Employee employee = new Employee();
EntityWrapper<Employee> wrapper = new EntityWrapper<Employee>();
boolean res = employee.delete(wrapper.eq("id", 30));
System.out.println("res ========= " + res);
}
分页
这个分页属于内存分页,并非物理分页。
@Test
public void testARPage() {
Employee employee = new Employee();
EntityWrapper<Employee> wrapper = new EntityWrapper<Employee>();
Page<Employee> page = employee.selectPage(new Page<>(2,2), wrapper.like("last_name", "x").or().like("last_name", "r").orderBy("age").last("desc"));
List<Employee> employees = page.getRecords();
employees.forEach(System.out::println);
}