浅谈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 相关文章推荐
如何解决springcloud feign 首次调用100%失败的问题
Jun 23 Java/Android
Java基础之详解HashSet的使用方法
Jun 30 Java/Android
JavaWeb Servlet实现网页登录功能
Jul 04 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
JAVA API 实用类 String详解
Oct 05 Java/Android
springboot新建项目pom.xml文件第一行报错的解决
Jan 18 Java/Android
java executor包参数处理功能 
Feb 15 Java/Android
零基础学java之带参数以及返回值的方法
Apr 10 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
Apr 24 Java/Android
JAVA 线程池(池化技术)的实现原理
Apr 28 Java/Android
java版 联机五子棋游戏
May 04 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学习之正则表达式
2011/04/17 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
php筛选不存在的图片资源
2015/04/28 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
python3爬取各类天气信息
2018/02/24 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
关键字final的用法
2013/10/02 面试题
自我评价是什么
2014/01/04 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
小学教师工作总结2015
2015/04/07 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
Apache POI的基本使用详解
2021/11/07 Servers