package com.itheima.mp.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.itheima.mp.domain.po.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@SpringBootTest
class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
void testInsert() {
User user = new User();
// user.setId(5L);
user.setUsername("刘浩存");
user.setPassword("123");
user.setPhone("18688990011");
user.setBalance(200);
user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}");
user.setCreateTime(LocalDateTime.now());
user.setUpdateTime(LocalDateTime.now());
int insert = userMapper.insert(user);
System.out.println(insert);
}
@Test
void testSelectById() {
User user = userMapper.selectById(5L);
System.out.println("user = " + user);
}
@Test
void testQueryByIds() {
List<Long> longList = Collections.unmodifiableList(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 4L)));
List<User> users = userMapper.selectBatchIds(longList);
users.forEach(System.out::println);
}
@Test
void testUpdateById() {
User user = new User();
user.setId(5L);
user.setBalance(20000);
userMapper.updateById(user);
}
@Test
void testDeleteUser() {
userMapper.deleteById(5L);
}
@Test
void testQueryMapper() {
// 创建 QueryWrapper 实例
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id," + "username," + "info," + "balance ");
// 添加条件:用户名包含 "o",余额大于等于 1000
queryWrapper.like("username", "o").ge("balance", 1000);
// 使用 MyBatis-Plus 的方法执行查询
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}
@Test
void testUpdateWapper() {
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
// 使用实体的函数式方式指定要更新的字段
wrapper.set("balance", 5000).eq("username", "jack");
// 执行更新操作
int updated = userMapper.update(null, wrapper);
if (updated == 1) {
// 更新成功
System.out.println("更新成功");
} else {
// 更新失败或无记录被更新
System.out.println("更新失败");
}
}
@Test
void testUpdateWapper1(){
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("id", Arrays.asList(1, 2, 4));
updateWrapper.setSql("balance = balance-200");
userMapper.update(null,updateWrapper);
}
@Test
void testCustomSqlUpdate(){
// 1.更新条件
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
int amount = 1000;
// 2.自定义条件
updateWrapper.lambda().in(User::getId, Arrays.asList(1, 2, 4));
// 3.调用自定义SQL方法
System.out.println("受影响的行数"+userMapper.updateBalanceByIds(updateWrapper,amount));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Mybatis进阶详细用法可运行代码
共51个文件
class:15个
java:15个
xml:12个
1 下载量 172 浏览量
2024-05-14
11:19:36
上传
评论
收藏 52KB RAR 举报
温馨提示
Mybatis进阶详细用法可运行代码
资源推荐
资源详情
资源评论
收起资源包目录
mp-demo.rar (51个子文件)
mp-demo
pom.xml 3KB
src
test
java
com
itheima
mp
mapper
UserMapperTest.java 4KB
MpDemoApplicationTests.java 139B
service
IUserServiceTest.java 1KB
main
resources
mapper
UserMapper.xml 2KB
application.yaml 730B
java
com
itheima
mp
MpDemoApplication.java 406B
mapper
UserMapper.java 736B
controller
UserController.java 3KB
service
IUserService.java 367B
impl
UserServiceImpl.java 2KB
domain
dto
UserFormDTO.java 772B
PageDTO.java 2KB
po
User.java 1009B
query
PageQuery.java 1KB
UserQuery.java 553B
vo
AddressVO.java 953B
UserVO.java 582B
.idea
jarRepositories.xml 864B
dataSources
1f2fd68d-e6e6-4877-94f0-1e41d0612fea.xml 44KB
1f2fd68d-e6e6-4877-94f0-1e41d0612fea
storage_v2
_src_
schema
performance_schema.kIw0nw.meta 76B
sys.zb4BAA.meta 61B
information_schema.FNRwLQ.meta 76B
mysql.osA4Bg.meta 63B
mp.ow0AAA.meta 57B
mp.ow0AAA.zip 730B
dataSources.local.xml 1KB
uiDesigner.xml 9KB
workspace.xml 9KB
misc.xml 465B
dataSources.xml 839B
compiler.xml 751B
.gitignore 190B
encodings.xml 191B
target
classes
mapper
UserMapper.xml 2KB
application.yaml 730B
com
itheima
mp
mapper
UserMapper.class 989B
controller
UserController.class 4KB
MpDemoApplication.class 824B
service
IUserService.class 629B
impl
UserServiceImpl.class 5KB
domain
dto
UserFormDTO.class 4KB
PageDTO.class 6KB
po
User.class 5KB
query
UserQuery.class 3KB
PageQuery.class 5KB
vo
UserVO.class 4KB
AddressVO.class 6KB
test-classes
com
itheima
mp
mapper
UserMapperTest.class 7KB
service
IUserServiceTest.class 3KB
MpDemoApplicationTests.class 464B
generated-test-sources
test-annotations
generated-sources
annotations
共 51 条
- 1
资源评论
一只傻小白,
- 粉丝: 430
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功