1、方法一:使用註解sql
一、自定義sql方法mybatis
@Repository public interface UserInfoMapper extends BaseMapper<UserInfo> { @Select("select * from user ${ew.customSqlSegment}") List<UserInfo> selectAll(@Param(Constants.WRAPPER) Wrapper<UserInfo> wrapper); }
二、調用自定義sql方法app
/** * 自定義查詢 */ @Test public void selectByMy() { LambdaQueryWrapper<UserInfo> lambda = new LambdaQueryWrapper<UserInfo>(); lambda.like(UserInfo::getUsername,"娟") .and(lqw->lqw.lt(UserInfo::getAge,40).or().isNotNull(UserInfo::getEmail)); List<UserInfo> userInfoList = userInfoMapper.selectAll(lambda); userInfoList.forEach(System.out::println); }
2、方法二:使用xmlspa
一、配置路徑 mybatis-plus.mapper-locations= com.xiao.permission_system.mapper.UserInfoMapper
二、在xml文件裏寫sql,去掉UserInfoMapper方法裏的註解code
<mapper namespace="com.xiao.permission_system.mapper.UserInfoMapper"> <select id="selectAll" resultMap="com.xiao.permission_system.entity.UserInfo"> select * from user ${ew.customSqlSegment} </select> </mapper>