一、引言
MP自带的条件结构器尽管很强壮,有时候也避免不了写略微杂乱一点事务的sql,那么那么今日说说MP怎样自界说sql句子吧。A8站源码交易平台
二、装备
自界说的sql当然是写在XML文件中的啦,那么首先来界说xml文件的方位,在yml装备文件如下
mybatis-plus:
# 假如是放在src/main/java目录下 classpath:/com/*/*/mapper/*Mapper.xml
# 假如是放在resource目录 classpath:/mapper/**.xml
mapper-locations: classpath:/mapper/**.xml
三、详细完成
运用注解完成:
在咱们Mapper接口中界说自界说办法即可。
/**
* @Auther: IT贱男
* @Date: 2019/6/10 14:40
* @Description: User目标耐久层
*/
public interface UserMapper extends BaseMapper{
/**
*
* 假如自界说的办法还期望可以运用MP供给的Wrapper条件结构器,则需求如下写法
*
* @param userWrapper
* @return
*/
@Select("SELECT * FROM user ${ew.customSqlSegment}")
ListselectByMyWrapper(@Param(Constants.WRAPPER) WrapperuserWrapper);
/**
* 和Mybatis运用办法共同
* @param name
* @return
*/
@Select("SELECT * FROM user where name = #{name}")
ListselectByName(@Param("name") String name);
}
运用xml文件完成:
运用xml一定要指定xml文件所在方位
/**
* @Auther: IT贱男
* @Date: 2019/6/10 14:40
* @Description: User目标耐久层
*/
public interface UserMapper extends BaseMapper{
/**
*
* 假如自界说的办法还期望可以运用MP供给的Wrapper条件结构器,则需求如下写法
*
* @param userWrapper
* @return
*/
ListselectByMyWrapper(@Param(Constants.WRAPPER) WrapperuserWrapper);
/**
* 和Mybatis运用办法共同
* @param name
* @return
*/
ListselectByName(@Param("name") String name);
}
SELECT * FROM user where name = #{name}
SELECT * FROM user ${ew.customSqlSegment}
测验测验:
/**
* 自界说sql查询句子
*/
@Test
public void selectByMySelect() {
Listusers = userMapper.selectByName("王天风");
users.forEach(System.out::println);
}
/**
* 自界说sql运用Wrapper
*/
@Test
public void selectByMyWrapper() {
QueryWrapperwrapper = new QueryWrapper();
wrapper.like("name", "雨").lt("age", 40);
Listusers = userMapper.selectByMyWrapper(wrapper);
users.forEach(System.out::println);