第一种
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper public interface UserMapper extends BaseMapper<User> { @Select("SELECT * FROM user WHERE name = #{name}") User selectUserByName(String name); @Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})") int insertUser(User user); // 其他自定义的SQL操作方法 }
第二种
<!-- UserMapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <select id="selectUserByName" resultType="User"> SELECT * FROM user WHERE name = #{name} </select> <insert id="insertUser" parameterType="User"> INSERT INTO user (name, age) VALUES (#{name}, #{age}) </insert> </mapper>
第三种
使用 QueryWrapper 和 LambdaQueryWrapper:MyBatis-Plus 提供了 QueryWrapper 和 LambdaQueryWrapper 用于构建查询条件。你可以使用它们来手动构建复杂的 SQL 查询条件。
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "张三").ge("age", 18); List<User> users = userMapper.selectList(queryWrapper);
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("age", 20).eq("name", "张三");
int rows = userMapper.update(null, updateWrapper);