MybatisPlus--持久层接口
IService:
Save()
boolean save(T entity) //批量插入
boolean saveBatch(Collection<T> entityList)
boolean saveBatch(Collection<T> entityList, int vatchSIze)

SQL:
INSERT INTO user (name, email) VALUES ('John Doe', 'john.doe@example.com')
批量SQL:
INSERT INTO user (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com')
saveOrUpdate()
// TableId 注解属性值存在则更新记录,否插入一条记录 boolean saveOrUpdate(T entity); // 根据updateWrapper尝试更新,否继续执行saveOrUpdate(T)方法 boolean saveOrUpdate(T entity, Wrapper<T> updateWrapper); // 批量修改插入 boolean saveOrUpdateBatch(Collection<T> entityList); // 批量修改插入 boolean saveOrUpdateBatch(Collection<T> entityList, int batchSize);

SQL(假设记录存在)
UPDATE user SET name = 'John Doe', email = 'john.doe@example.com' WHERE id = 1
SQL(假设记录不存在)
INSERT INTO user (id, name, email) VALUES (1, 'John Doe', 'john.doe@example.com')
remove()
// 根据 queryWrapper 设置的条件,删除记录 boolean remove(Wrapper<T> queryWrapper); // 根据 ID 删除 boolean removeById(Serializable id); // 根据 columnMap 条件,删除记录 boolean removeByMap(Map<String, Object> columnMap); // 删除(根据ID 批量删除) boolean removeByIds(Collection<? extends Serializable> idList);

删除单条SQL
DELETE FROM user WHERE age = 30
根据ids删除SQL
DELETE FROM user WHERE id IN (1, 2, 3)
update()
// 根据 UpdateWrapper 条件,更新记录 需要设置sqlset boolean update(Wrapper<T> updateWrapper); // 根据 whereWrapper 条件,更新记录 boolean update(T updateEntity, Wrapper<T> whereWrapper); // 根据 ID 选择修改 boolean updateById(T entity); // 根据ID 批量更新 boolean updateBatchById(Collection<T> entityList); // 根据ID 批量更新 boolean updateBatchById(Collection<T> entityList, int batchSize);

根据条件更新SQL
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("name", "John Doe").set("email", "john.doe@newdomain.com");
boolean result = userService.update(updateWrapper); // 调用 update 方法
UPDATE user SET email = 'john.doe@newdomain.com' WHERE name = 'John Doe'
get()
// 根据 ID 查询 T getById(Serializable id); // 根据 Wrapper,查询一条记录。结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1") T getOne(Wrapper<T> queryWrapper); // 根据 Wrapper,查询一条记录 T getOne(Wrapper<T> queryWrapper, boolean throwEx); // 根据 Wrapper,查询一条记录 Map<String, Object> getMap(Wrapper<T> queryWrapper); // 根据 Wrapper,查询一条记录 <V> V getObj(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);

getById()的SQL
SELECT * FROM user WHERE id = 1
getOne()示例SQL
// 假设有一个 QueryWrapper 对象,设置查询条件为 name = 'John Doe' QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "John Doe"); User user = userService.getOne(queryWrapper); // 调用 getOne 方法
SELECT * FROM user WHERE name = 'John Doe'
list()
// 查询所有 List<T> list(); // 查询列表 List<T> list(Wrapper<T> queryWrapper); // 查询(根据ID 批量查询) Collection<T> listByIds(Collection<? extends Serializable> idList); // 查询(根据 columnMap 条件) Collection<T> listByMap(Map<String, Object> columnMap); // 查询所有列表 List<Map<String, Object>> listMaps(); // 查询列表 List<Map<String, Object>> listMaps(Wrapper<T> queryWrapper); // 查询全部记录 List<Object> listObjs(); // 查询全部记录 <V> List<V> listObjs(Function<? super Object, V> mapper); // 根据 Wrapper 条件,查询全部记录 List<Object> listObjs(Wrapper<T> queryWrapper); // 根据 Wrapper 条件,查询全部记录 <V> List<V> listObjs(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);

listByIds()的SQL示例
// 假设有一组 ID 列表,批量查询用户 List<Integer> ids = Arrays.asList(1, 2, 3); Collection<User> users = userService.listByIds(ids); // 调用 listByIds 方法
SELECT * FROM user WHERE id IN (1, 2, 3)
page()
// 无条件分页查询 IPage<T> page(IPage<T> page); // 条件分页查询 IPage<T> page(IPage<T> page, Wrapper<T> queryWrapper); // 无条件分页查询 IPage<Map<String, Object>> pageMaps(IPage<T> page); // 条件分页查询 IPage<Map<String, Object>> pageMaps(IPage<T> page, Wrapper<T> queryWrapper);

page QueryWrapper 形式的SQL示例
// 假设有一个 QueryWrapper 对象,设置查询条件为 age > 25,进行有条件的分页查询 IPage<User> page = new Page<>(1, 10); QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.gt("age", 25); IPage<User> userPage = userService.page(page, queryWrapper); // 调用 page 方法 List<User> userList = userPage.getRecords(); long total = userPage.getTotal();
SELECT * FROM user WHERE age > 25 LIMIT 10 OFFSET 0
count()
// 查询总记录数 int count(); // 根据 Wrapper 条件,查询总记录数 int count(Wrapper<T> queryWrapper); //自3.4.3.2开始,返回值修改为long // 查询总记录数 long count(); // 根据 Wrapper 条件,查询总记录数 long count(Wrapper<T> queryWrapper);

SQL示例
// 假设有一个 QueryWrapper 对象,设置查询条件为 age > 25,查询满足条件的用户总数 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.gt("age", 25); int totalUsers = userService.count(queryWrapper); // 调用 count 方法 System.out.println("Total users (age > 25): " + totalUsers);
SELECT COUNT(*) FROM user WHERE age > 25
BaseMapper:
insert()
delete()
update()
select()
难产难产难产

浙公网安备 33010602011771号