浅谈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 相关文章推荐
详解Java实现数据结构之并查集
Jun 23 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
Spring mvc是如何实现与数据库的前后端的连接操作的?
Jun 30 Java/Android
Lombok的详细使用及优缺点总结
Jul 15 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
Java基础——Map集合
Apr 01 Java/Android
java高级用法JNA强大的Memory和Pointer
Apr 19 Java/Android
Android开发 使用文件储存的方式保存QQ密码
Apr 24 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
java实现面板之间切换功能
Jun 10 Java/Android
Android开发手册自定义Switch开关按钮控件
Jun 10 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
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
JS backgroundImage控制
2009/05/19 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
python PIL模块的基本使用
2020/09/29 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
中学生自我鉴定
2014/02/04 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
竞聘书模板
2014/03/31 职场文书
合作经营协议书
2014/04/17 职场文书
IT工程师岗位职责
2014/07/04 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
未婚证明书模板
2014/10/08 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
幼师求职自荐信
2015/03/26 职场文书
中秋晚会致辞
2015/07/31 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书