單表增刪改查

一.更新操作

1.根據id進行更新

(1)代碼塊

/**
 * 根據id更新數據
 */
@Test
public void test1(){
    User user = new User();
    user.setId(2l);     //設置指定id
    user.setUserName("小明");
    user.setName("小明");
    user.setPassword("32343");
    user.setAge(22);
    user.setMail("itcast.com");
    int num = userMapper.updateById(user);
    System.out.println(num);
}

(2)範例

圖片

2.根據QueryWrapper對象進行更新

(1)代碼塊

/**
 * 根據條件更新數據,方式一QueryWrapper
 */
@Test
public void test3(){
    User user = new User();
    user.setAge(20);    //更新的字段
    user.setPassword("88888");
    //1.設置查詢條件
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    //參數一是數據庫表中的字段名,參數二是名稱
    wrapper.eq("user_name","zhangsan");
    //2.執行更新操作
    int result = userMapper.update(user, wrapper);
    System.out.println("result=>" +result);
}

(2)範例

圖片

3.根據UpdateWrapper對象進行更新操作

(1)代碼塊

/**
 * 根據條件更新數據,方式二UpdateWrapper
 */
@Test
public void test4(){
    //1.設置查詢條件
    UpdateWrapper<User> wrapper = new UpdateWrapper<>();
    //參數一是數據庫表中的字段名,參數二是名稱
    wrapper.set("age",21)   //set方法是設置修改後的字段名和對應的字段值
            .set("password","999999")
            //設置查詢條件
            .eq("user_name","zhangsan");
    //2.執行更新操作
    int result = userMapper.update(null, wrapper);
    System.out.println("result=>" +result);
}

(2)範例

圖片

二.刪除操作

1.根據id進行刪除

(1)代碼塊

/**
 * 根據id刪除數據
 */
@Test
public void test5(){
    int result = userMapper.deleteById(5l);
    System.out.println(result);
}

(2)範例

圖片

2.根據Map進行刪除【可以刪除多條記錄】

(1)代碼塊

/**
 * 根據map條件刪除數據
 */
@Test
public void test6(){
    Map<String,Object> map = new HashMap<>();
    map.put("user_name","zhangsan");    //設置刪除條件
    map.put("password","123456");   //多條條件都是and連接
    int result = userMapper.deleteByMap(map);
    System.out.println(result);
}

(2)範例

圖片

3.根據QueryWrapper對象進行刪除

(1)代碼塊

/**
 * 根據QueryWrapper條件刪除數據
 */
@Test
public void test7(){
    //方式一:設置刪除條件【不推薦】
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.eq("user_name","小明")
            .eq("password","32343");
    int result = userMapper.delete(wrapper);
    System.out.println(result);
    //方式二:將刪除條件封裝成對象【推薦】
    User user = new User();
    user.setPassword("32343");
    user.setUserName("小明");
    //將條件封裝到user,存儲在構造方法中自動拆解
    QueryWrapper<User> wrapper2 = new QueryWrapper<>(user);
    int result2 = userMapper.delete(wrapper2);
    System.out.println(result2);
}

(2)範例

圖片

4.根據DeleteBatchIds進行刪除【批量刪除】

(1)代碼塊

/**
 * 根據DeleteBatchIds條件刪除數據
 */
@Test
public void test8(){
    //批量刪除,根據id進行批量刪除
    int result = userMapper.deleteBatchIds(Arrays.asList(9l, 10l));
    System.out.println("根據id刪除的記錄有" +result);
}

(2)範例

圖片

三.查詢操作

1.根據id進行查詢

(1)代碼塊

/**
 * 根據id進行查詢數據
 */
@Test
public void test1(){
    //根據id進行查詢
    User user = userMapper.selectById(1L);
    System.out.println(user);
}

(2)範例

圖片

2.根據集合進行查詢

(1)代碼塊

/**
 * 根據id集合進行查詢數據
 */
@Test
public void test2(){
    //根據id集合進行查詢
    List<User> users= userMapper.selectBatchIds(Arrays.asList(1l,3l));
    System.out.println(users);
}

(2)範例

圖片

3.查詢一條記錄的語法

(1)代碼塊

/**
 * 根據selectOne進行查詢一行記錄
 */
@Test
public void test3(){
    //設置查詢條件
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.eq("user_name","zhangsan");
    //將查詢條件存儲到selectOne的參數
    User user = userMapper.selectOne(wrapper);
    //注意事項:selectOne查詢結果不能超過一條,如果多條返回記錄則發生異常
    System.out.println(user);
}

(2)範例

圖片

4.查詢符合條件的記錄總數

(1)代碼塊

/**
 * 根據selectCount進行查詢符號條件的記錄條數
 */
@Test
public void test4(){
    //設置查詢條件
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.eq("user_name","zhangsan");
    //將查詢條件存儲到selectCount的參數
    int count = userMapper.selectCount(wrapper);
    System.out.println(count);
}

(2)範例

圖片

5.查詢多條記錄的方法SelectList

(1)代碼塊

/**
 * 根據QueryWrapper查詢多條記錄
 */
@Test
public void test5(){
    //設置查詢條件
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.ge("age",20);
    //將查詢條件存儲到selectOne的參數
    List<User> users = userMapper.selectList(wrapper);
    for(User user:users){
        System.out.println(user);
    }
}

(2)範例

圖片

四.添加操作

1.代碼塊

@Test
public void test1(){
    User user = new User();
    user.setUserName("lisi");
    user.setName("小明");
    user.setPassword("123456");
    user.setAge(22);
    user.setMail("itcast.com");
    int num = userMapper.insert(user);
    System.out.println(num);
}

2.範例

圖片

五.源碼

mybatisplus.rar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章