1. 程式人生 > 其它 >mybatisplus簡單使用(增刪改查)

mybatisplus簡單使用(增刪改查)

技術標籤:springboot微服務全棧javaspringmybatisspring boot

mybatisplus簡單使用(增刪改查)

mp插入操作

  User user = new User();
  user.setName("Helen");
  user.setAge(18);
  user.setEmail("[email protected]");
  int result = userMapper.insert(user);

mp修改操作

User user = new User();
user.setId(1L);
user.setAge(28);
int result = userMapper.updateById(user);
System.out.println(result);

mp簡單查詢

1.通過id查詢(以userMapper為例)

userMapper.selectById()

2.多個id的批量查詢(以userMapper為例)

userMapper.selectBatchIds(Arrays.asList(1,2))

3.簡單條件查詢

HashMap<String,Object>
map = new HashMap<>() map.put("name","豆豆") map.put("age","18") List<User> users=userMapper.selectByMap(map)

執行的sql語句相當於selectByMap條件查詢

分頁查詢

1.建立配置類

/**
 * 分頁外掛
 */
@Bean
public PaginationInterceptor paginationInterceptor() {
    return new PaginationInterceptor()
; }

2.測試selectPage分頁
測試:最終通過page物件獲取相關資料

@Test
public void testSelectPage() {
    Page<User> page = new Page<>(1,5);
    userMapper.selectPage(page, null);
    
    page.getRecords().forEach(System.out::println);
    System.out.println(page.getCurrent());
    System.out.println(page.getPages());
    System.out.println(page.getSize());
    System.out.println(page.getTotal());
    System.out.println(page.hasNext());
    System.out.println(page.hasPrevious());
}

mp刪除操作

1.通過id刪除(以userMapper為例)

 User user = userMapper.selectById(1L);

2.多個id的批量刪除(以userMapper為例)

List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));

3.簡單的條件查詢刪除

HashMap<String,Object> map = new HashMap<>()
map.put("name","豆豆")
map.put("age","18")
List<User> users=userMapper.deleteByMap(map)

這邊的刪除操作和查詢操作幾乎是一模一樣的

效能分析外掛

  • 效能分析攔截器,用於輸出每條 SQL 語句及其執行時間
  • SQL 效能執行分析,開發環境使用,超過指定時間,停止執行。有助於發現問題

1.配置外掛

  1. 引數說明
    引數:maxTime: SQL 執行最大時長,超過自動停止執行,有助於發現問題。
    引數:format: SQL是否格式化,預設false。
  2. 在 MybatisPlusConfig 中配置
/**
 * SQL 執行效能分析外掛
 * 開發環境使用,線上不推薦。 maxTime 指的是 sql 最大執行時長
 */
@Bean
@Profile({"dev","test"})// 設定 dev test 環境開啟
public PerformanceInterceptor performanceInterceptor() {
    PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
    performanceInterceptor.setMaxTime(100);//ms,超過此處設定的ms則sql不執行
    performanceInterceptor.setFormat(true);
    return performanceInterceptor;

}

3.Spring Boot 中設定dev環境

#環境設定:dev、test、prod
spring.profiles.active=dev