欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ActiveRecord简称AR技术

程序员文章站 2022-03-26 16:51:41
...

一.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<User> 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技术

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技术

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技术

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技术

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技术

6.根据条件查询数据

(1)代码块

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

(2)范例

ActiveRecord简称AR技术

三.源码

mybatisplus.rar

相关标签: mybatisplus