mybatisplus拼接sql语句怎么写

avatar
作者
筋斗云
阅读量:0

MyBatis-Plus 是一个 MyBatis 的增强工具,用于简化 MyBatis 的开发。它提供了一些内置的方法和功能,可以帮助你更轻松地编写和执行 SQL 语句。以下是一些使用 MyBatis-Plus 拼接 SQL 语句的示例:

  1. 使用 LambdaQueryWrapper 进行条件构造:
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.demo.entity.User;  // ...  LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getAge, 25)            .like(User::getName, "张%")            .orderByDesc(User::getCreateTime); List<User> userList = userMapper.selectList(queryWrapper); 
  1. 使用 QueryWrapper 进行条件构造:
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.demo.entity.User;  // ...  QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("age", 25)            .like("name", "张%")            .orderByDesc("create_time"); List<User> userList = userMapper.selectList(queryWrapper); 
  1. 使用 XML 文件编写 SQL 语句:

resources/mapper 目录下创建一个名为 UserMapper.xml 的文件,然后编写如下 SQL 语句:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper">    <select id="selectUsersByNameAndAge" resultType="com.example.demo.entity.User">         SELECT * FROM user         WHERE name LIKE #{name}         AND age = #{age}         ORDER BY create_time DESC     </select> </mapper> 

然后在 UserMapper 接口中添加对应的方法:

import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.demo.entity.User;  public interface UserMapper extends BaseMapper<User> {     List<User> selectUsersByNameAndAge(@Param("name") String name, @Param("age") Integer age); } 

最后在服务类中调用该方法:

@Service public class UserService {     @Autowired     private UserMapper userMapper;      public List<User> getUsersByNameAndAge(String name, Integer age) {         return userMapper.selectUsersByNameAndAge(name, age);     } } 

这样,你就可以使用 MyBatis-Plus 拼接 SQL 语句并执行了。注意根据实际情况调整代码中的包名、类名和字段名。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!