SpringBoot
  • Introduction
  • springboot日志
    • logstash-json日志
  • springboot数据库
    • 初始化数据库
  • MongoDB使用
    • SpringBoot整合MongoDB(1)
    • SpringBoot整合MongoDB(2)
    • SpringBoot整合MongoDB(3)
    • SpringBoot整合MongoDB(4)
  • prometheus监控
    • springboot整合prometheus(一)
    • springboot整合prometheus(二)
    • springboot整合prometheus(三)
    • springboot整合prometheus(四)
    • springboot整合prometheus(五)
  • spring IOC
    • 注解IOC
  • 过滤器和拦截器
    • 过滤器
    • 拦截器
  • mybatis
    • springboot快速整合mybatis
  • 使用缓存
    • redis-cache
  • 异步线程池
    • 快速开始
    • 线程池
  • AOP切面
    • 快速开始
  • 限流
    • 使用Sentinel实现接口限流
      • 使用Sentinel实现接口限流
  • MybatisPlus
    • 快速开始
    • 基本使用
    • 查询方法
    • 主键策略和基本配置
Powered by GitBook
On this page
  • AR模式
  • 主键策略
  • 通用service

Was this helpful?

  1. MybatisPlus

主键策略和基本配置

AR模式

ActiveRecord模式

  1. po继承Model类

  2. mapper继承BaseMapper

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.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("user")
public class User extends Model<User> {

    /**
     * 
     */
    private static final long serialVersionUID = 7664024626111370961L;

    @TableId("id")
    private Long id;

    private String name;


    private Integer age;

    @TableField("email")
    private String email;


    @TableField(exist = false)
    private String remark;

}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.po.User;

public interface UserMapper extends BaseMapper<User>{

}

插入数据

        User user = new User();
        user.setAge(12);
        user.setEmail("wu_mingsheng@126.com");
        user.setName("woms");
        boolean insert = user.insert();
        System.out.println(insert);

查询

User user = new User().selectById(1L);
        System.out.println(user);


//方式二

    User user = new User();
        user.setId(1L);
        User user2 = user.selectById();

更新

    User user = new User();
        user.setId(1L);
        user.setName("woms");
        user.updateById();

主键策略

局部主键策略

    @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;

主键会自动帮我们set回po里面

全局主键配置

## mybatis-plus
mybatis-plus.global-config.db-config.id-type=uuid
# mybatis-plus.mapper-locations=```properties

通用service

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.dao.UserMapper;
import com.example.demo.po.User;


@Service
public class UserService extends ServiceImpl<UserMapper, User> implements IService<User> {


}
th(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserService userService;

    @Test
    public void test() {
        //false 如果数据记录多余一条,不会抛出异常,取第一条
        userService.getOne(Wrappers.<User>lambdaQuery().like(User::getName, "tom"), false);
    }
}
Previous查询方法

Last updated 5 years ago

Was this helpful?