MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。使用 MyBatis-Plus,你可以方便地执行 CRUD 操作,并且可以通过自定义 SQL 来满足复杂的查询需求。
当在 MyBatis-Plus 中需要写自定义 SQL 时,你可以使用 @Select
、@Insert
、@Update
、@Delete
等注解,或者直接在 XML 映射文件中编写 SQL。
在mapper层使用注解:
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user WHERE name = #{name}")
List<User> selectByName(@Param("name") String name);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int insertUser(@Param("name") String name, @Param("age") Integer age);
// ... 其他自定义 SQL
}
xml文件:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectByName" resultType="com.example.model.User">
SELECT * FROM user WHERE name = #{name}
</select>
<insert id="insertUser">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
<!-- ... 其他自定义 SQL -->
</mapper>
当你使用 MyBatis-Plus 提供的 BaseMapper 接口时,它已经为你提供了基本的 CRUD 方法,所以大多数情况下你不需要编写太多的自定义 SQL。