public interface UserMapper extends BaseMapper<User> {
//注解的方式实现自定义SQL
@Select("select * from user ${ew.customeSqlSegment}")
List<User> selectAll(@Param(Constants.WRAPPER) Wrapper<User> wrapper);
/**
//对应的XML写法
<select id="selectAll" resultType="com.entity.User">
select * from user ${ew.customeSqlSegment}
</select>
*/
}
MP的xml写sql处理找不到statement的方法;Invalid bound statement (not found);;mapper文件夹要创建在resources目录下;
#配置xml的存放路径,mapper包下的所有xml文件;在yml种写mapper-locations: classpath:/mapper/*.xml;
自定义SQL语句
第一种方法:使用注解添加自定义语句,Wrapper添加构造条件
第二种方法:使用配置Mybatis的XML文件自定义SQL语句,,Wrapper添加构造条件
支持使用条件构造器自定义SQL,可以通过在Mapper中
也可以将sql语句放在xml中
配置Application.yml 的mapper 路径
自定义sql 语句写在xml
要配置Application.yml 的mapper 路径
自定义sql 语句用注解
custom sql support
使用条件构造器的自定义sql
使用场景:当使用条件构造器去构造sql的方法不能满足需求时(前提:mybatisplus版本大于3.0.7)。
使用方法:
注意:${ew.customSqlsegment}可以使条件构造器构造的sql被执行。
mybatis-plus配置xml文件路径(springboot项目):
简单的内容还是以mp支持的默认方法比较合算,如果需要特定支持在考虑去自定义sql
CRUD - 查询
xml的书写
userMapper.xml配置创建
application.yml文件配置xml
自定义sql的mapper文件
selectMy()
自定义sql
mybatis plusi指定 mapper.xml文件路径
yml写法
在接口写的改到xml中
自定义SQL的两种方式:
第一种: 使用自定义注解 的方式实现,在 dao 层的方法上使用@Select (“sql 语句”)的方式编写 sql 语句,会自动映射到数据库表中
第二章: 使用创建 mapper.xml 的方式来创建 配置文件,通过在配置文件中 创建 sql 语句,并配置 namespace 名称空间,指向有效的 dao 层,从而实现数据的映射
通用Mapper 的使用
mp中自定义sql