ActiveRecord简称AR技术

一.ActiveRecord的概述

ActiveRecord也属于ORM(对象关系映射)层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。

每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段

在类中都有相应的Field;

ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;;

ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑;

二.ar基本应用

1.实体类

(1)代码块

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import static com.baomidou.mybatisplus.annotation.IdType.AUTO;
@Data
@NoArgsConstructor  //空参构造方法
@AllArgsConstructor //全参构造方法
@TableName("tb_user") //测试全局表名前缀
public class User extends Model implements Serializable {
    @TableId(type=IdType.AUTO)  //声明主键自增长
    private Long id;
    private String userName;
    private String password;
    @TableField(select = false)    //查询时,则不返回该字段的值
    private String name;
    private Integer age;
    @TableField(value = "email")    //通过tableField进行字段不一致的映射
    //数据库字段是email,而实体类对应的是mail
    private String mail;
    @TableField(exist = false)  //设置该字段在数据库表中不存在
    private String msg; //数据库中不存在该字段
}

(2)范例

ActiveRecord简称AR技术_第1张图片

2.添加数据

(1)代码块

@Test
/**
 * 测试AR技术添加数据
 */
public void test2(){
    //创建一个user对象
    User user = new User();
    user.setUserName("wusong");
    user.setPassword("123456");
    user.setAge(22);
    //根据实体类继承model,添加数据
    boolean insert = user.insert();
    System.out.println(insert);
}

(2)范例

ActiveRecord简称AR技术_第2张图片

3.更新数据

(1)代码块

@Test
/**
 * 测试AR技术更新数据
 */
public void test3(){
    //创建一个user对象
    User user = new User();
    user.setId(13L); //查询条件
    user.setAge(30);    //更新数据
    //根据实体类继承model,实现根据id查询记录
    boolean result = user.updateById();
    System.out.println(result);
}

(2)范例

ActiveRecord简称AR技术_第3张图片

4.根据id查询数据

(1)代码块

@Test
/**
 * 测试AR技术基本应用
 */
public void test1(){
    //创建一个user对象
    User user = new User();
    user.setId(3L);
    //根据实体类继承model,实现根据id查询记录
    User user2 = user.selectById();
    System.out.println(user2);
}

(2)范例

ActiveRecord简称AR技术_第4张图片

5.删除数据

(1)代码块

@Test
/**
 * 测试AR技术删除数据
 */
public void test4(){
    //创建一个user对象
    User user = new User();
    user.setId(14L); //查询条件
    //根据实体类继承model,实现根据id查询记录
    boolean result = user.deleteById();
    System.out.println(result);
}

(2)范例

ActiveRecord简称AR技术_第5张图片

6.根据条件查询数据

(1)代码块

@Test
/**
 * 测试AR技术根据条件进行查询数据
 */
public void test5(){
    //创建一个user对象
    User user = new User();
    QueryWrapper wrapper = new QueryWrapper<>();
    wrapper.eq("user_name","wangwu");
    //根据实体类继承model,实现根据id查询记录
    List users = user.selectList(wrapper);
    for (User user1 : users) {
        System.out.println(user1);
    }
}

(2)范例

ActiveRecord简称AR技术_第6张图片

三.源码

mybatisplus.rar

你可能感兴趣的:(mybatisplus)