浅谈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 相关文章推荐
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
Java实现聊天机器人完善版
Jul 04 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
Java spring单点登录系统
Sep 04 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
Java中try catch处理异常示例
Dec 06 Java/Android
关于Spring配置文件加载方式变化引发的异常详解
Jan 18 Java/Android
springboot入门 之profile设置方式
Apr 04 Java/Android
Java虚拟机内存结构及编码实战分享
Apr 07 Java/Android
Java界面编程实现界面跳转
Jun 16 Java/Android
SpringBoot详解自定义Stater的应用
Jul 15 Java/Android
OpenFeign实现远程调用
Aug 14 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php设计模式之命令模式使用示例
2014/03/02 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
Python 面向对象部分知识点小结
2020/03/09 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
python如何写出表白程序
2020/06/01 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
中英文自我评价语句
2013/12/20 职场文书
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
银行求职信怎么写
2014/05/26 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
体育活动总结
2015/02/04 职场文书
地震慰问信
2015/02/14 职场文书
车间质检员岗位职责
2015/04/08 职场文书
微信搭讪开场白
2015/05/28 职场文书