浅谈sql_@SelectProvider及使用注意说明


Posted in Java/Android onAugust 04, 2021

sql_@SelectProvider及使用注意

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SelectProvider {
  Class<?> type();
  String method();
}

RoleDao.java

public interface RoleDao {
    @SelectProvider(type=RoleProvider.class,method="queryRolesByParamsSql")
    List<Role> queryRolesByParams(RoleQuery roleQuery);
}

RoleProvider.java

public class RoleProvider {
    public String queryRolesByParamsSql(@Param("roleName") final String roleName){
        return new SQL(){
            {
                SELECT("id,role_name as roleName,role_remark as roleRemark,"
                + "create_date as createDate,update_date as updateDate,"
                + " is_valid as isValid");
                FROM("t_role");
                WHERE("is_valid=1");
                if(StringUtils.isNoneBlank(roleName)){
                    WHERE("role_name like concat('%',#{roleName},'%')");
                }
            }
        }.toString();
    }
}

RoleMapper.xml

<select id="queryRolesByParams" resultType="role">
        select <include refid="role_column" /> 
        from t_role
        <where>
            is_valid = 1
            <if test="roleName !=null and roleName !=''">
                 and role_name like concat('%',#{roleName},'%')
            </if>

        </where> 
  </select>

注:

@SelectProvider 和 PageHelper 一起使用可能报错

报错是这样的

There is no getter for property named 'providerTakesParameterObject'

问题描述:

使用@SelectProvider注解,进行查询的时候报错

浅谈sql_@SelectProvider及使用注意说明

下面也是是这个问题引起的,重启Eclipse可能出现这个提示

Source not found for org.mortbay.io.nio.SelectChannelEndPoint

浅谈sql_@SelectProvider及使用注意说明

解决原因:

项目中使用了PageHelper 进行分页,与@@SelectProvider这个注解不能一起使用

浅谈sql_@SelectProvider及使用注意说明

不使用 PageHelper 这个插件,sql是正常运行的

浅谈sql_@SelectProvider及使用注意说明

解决方式:改用 xml 进行sql 查询

同样问题,其他解决方式参考:

https://stackoverflow.com/questions/37744893/how-can-sqlprovider-take-more-than-1-param-in-mybatis

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
springboot中一些比较常用的注解总结
Jun 11 Java/Android
SpringBoot实现异步事件驱动的方法
Jun 28 Java/Android
Springboot集成阿里云OSS上传文件系统教程
Jun 28 Java/Android
Spring mvc是如何实现与数据库的前后端的连接操作的?
Jun 30 Java/Android
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
Jul 01 Java/Android
新手初学Java网络编程
Jul 07 Java/Android
详解Android中的TimePickerView(时间选择器)的用法
Apr 30 Java/Android
Android学习之BottomSheetDialog组件的使用
Jun 21 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
Jul 07 Java/Android
SpringBoot详解执行过程
Jul 15 Java/Android
Java获取字符串编码格式实现思路
Sep 23 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 #Java/Android
浅谈Java父子类加载顺序
Aug 04 #Java/Android
浅谈spring boot使用thymeleaf版本的问题
Aug 04 #Java/Android
Java后台生成图片的完整步骤
Aug 04 #Java/Android
在Spring-Boot中如何使用@Value注解注入集合类
Aug 02 #Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Log4j.properties配置及其使用
Aug 02 #Java/Android
You might like
PHP中的替代语法简介
2014/08/22 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
js跑马灯代码(自写)
2013/04/17 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
python创建进程fork用法
2015/06/04 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
python实现内存监控系统
2021/03/07 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
python二维图制作的实例代码
2020/12/03 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
办公室秘书自我鉴定
2014/01/18 职场文书
美术毕业生求职信
2014/02/25 职场文书
高校教师岗位职责
2014/03/18 职场文书
新农村建设典型材料
2014/05/31 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
2014财务年终工作总结
2014/12/08 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
先进单位事迹材料
2014/12/25 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
小学生教师节广播稿
2015/08/19 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技