Mybatis-Plus入门

直接看官方文档

https://baomidou.gitee.io/mybatis-plus-doc/#/

环境配置

https://blog.csdn.net/suzhou_xj/article/details/103956422

Mybatis-plus

1.实体类

@Data
@TableName(value = "tb_employee")//指定表名
public class Employee {
    //value与数据库主键列名一致,若实体类属性名与表主键列名一致可省略value
    @TableId(value = "id",type = IdType.AUTO)//指定自增策略
    private Integer id;
    //若没有开启驼峰命名,或者表中列名不符合驼峰规则,可通过该注解指定数据库表中的列名,exist标明数据表中有没有对应列
    @TableField(value = "last_name",exist = true)
    private String lastName;
    private String email;
    private Integer gender;
    private Integer age;
}

2.Mapper

Mapper接口继承BaseMapper

public interface EmplopyeeDao extends BaseMapper<Employee> {
}

3.测试连接

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:mapper/xxxMapper.xml"})
public class test {
    @Autowired
    private DataSource dataSource;
    @Test
    public void testDataSource() throws SQLException {
        System.out.println(dataSource.getConnection());
    }
}

4.CRUD操作

 

 

Insert,直接调用insert方法

public class test {
    //注入Mapper
    @Autowired
    private EmplopyeeMapper emplopyeeMapper;
    @Test
    public void testInsert(){
        //定义实例
        Employee employee = new Employee();
        employee.setLastName("东方不败");
        employee.setEmail("dfbb@163.com");
        employee.setGender(1);
        employee.setAge(20);
    
         //mybatisplus会自动把当前插入对象在数据库中的id写回到该实体中
        emplopyeeMapper.insert(employee);
   
  
    }
}

可以看到只有一个insert方法

 

update操作,调用updateById

@Test
public void testUpdate(){
        Employee employee = new Employee();
        employee.setId(1);
        employee.setLastName("更新测试");
        emplopyeeDao.updateById(employee);//根据id进行更新,没有传值的属性就不会更新
      
}

一个条件查询,一个id查询

 

Select操作,调用selectOne调用单个

QueryWrapper<Employee> queryWrapper = new QueryWrapper<Employee>();
queryWrapper.eq("id",1);
Employee employeeitemCatMapper.selectOne(queryWrapper);

select的核心就是QueryWrapper条件设置

有多种方法

Select批量根据id查询

List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
List<Employee> employees = emplopyeeDao.selectBatchIds(idList);
System.out.println(employees);

 QueryWrapper条件查询List,可以为null,即查询所有

QueryWrapper<Emp> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId);
//查询根据id
Lsit<Emp> emp = EmpeeMpper.selectList(queryWrapper);
//查询所有
Lsit<Emp> emp = EmpeeMpper.selectList(queryWrapper);

 

5.常用注解(实体类)

注解名称

说明

@TableName

实体类的类名和数据库表名不一致

@TableId

实体类的主键名称和表中主键名称不一致

@TableField

实体类中的成员名称和表中字段名称不一致

6.排除实体类中非表字段

  • 使用transient关键字修饰非表字段,但是被transient修饰后,无法进行序列化。

  • 使用static关键字,因为我们使用的是lombok框架生成的get/set方法,所以对于静态变量,我们需要手动生成get/set方法。

  • 使用@TableField(exist = false)注解

7.全部的yml配置

mybatis-plus:
  mapper-locations: mapper/*.xml
  global-config:
    db-config:
      # 主键策略
      id-type: auto
      # 表名前缀
      table-prefix: t
      # 表名是否使用下划线间隔,默认:是
      table-underline: true
  # 添加mybatis配置文件路径
  config-location: mybatis-config.xml
  # 配置实体类包地址
  type-aliases-package: org.ywb.demo.pojo
  # 驼峰转下划线
  configuration:
    map-underscore-to-camel-case: true


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值