UDAL 不支持自定义函数,可以用mybatis中的sql标签进行改造替换

MyBatis中sql标签定义SQL片段, include标签引用,可以复用SQL片段

sql标签中id属性对应include标签中的refid属性。通过include标签将sql片段和原sql片段进行拼接成一个完整的sql语句进行执行。

res_type_id,res_type

select

from pub_res_type

引用同一个xml中的sql片段

引用公用的sql片段

include标签中也可以用property标签,用以指定自定义属性。在sql标签中通过${}取出对应的属性值。

select a.res_type_id,

as res_type

from pub_res_type a

定义一个公用的sql标签,用databaseId来区分不同数据库类型

/p>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SF_GET_LNG_RES_TYPE(${AI_RES_TYPE_ID}, ${lng})

CASE WHEN ${AI_RES_TYPE_ID}=101 THEN

CASE WHEN ${lng} = 1 THEN '男' ELSE 'male' END

CASE WHEN ${AI_RES_TYPE_ID}=102 THEN

CASE WHEN ${lng} = 1 THEN ${female} ELSE 'female' END

END

拼接之后

select a.res_type_id,

CASE WHEN a.res_type_id=101 THEN

CASE WHEN #{lngId} = 1 THEN '男' ELSE 'male' END

CASE WHEN a.res_type_id=102 THEN

CASE WHEN #{lngId} = 1 THEN '女' ELSE 'female' END

END as res_type

from pub_res_type a

改造之前,是调用数据库中的函数

select a.res_type_id,

SF_GET_LNG_RES_TYPE(a.res_type_id, #{lngId}) as res_type

from pub_res_type a

udal导mysql_mybatis之sql标签与include标签相关推荐

  1. [JQuery]关于使用jsp:include标签及%@ include标签时要注意的事项

    先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别) jsp:include是先编译一下included.jsp文件,然后再包含 先编译,后包含 @ include是先把文件包含就来,然后统 ...

  2. mapper中 <include refid=“XXX“></include>标签 <sql id=“XXX“>标签

    引言 include标签用法是引用sql片段 sql标签 是书写sql片段 被include 引用的 <sql id="query_where"><where&g ...

  3. Mybatis Could not find SQL statement to include with refid ‘xxx‘的问题

    首先我们来分析下这条报错语句,"Could not find SQL statement to include with refid 'com.chinacreator.c2.mapper. ...

  4. JAVA日记之mybatis-2代理开发/动态sql/sql抽取/核心配置标签 ----喝最烈的酒.

    1.Mybatis的Dao层实现 1.1 传统开发方式 1.1.1编写UserDao接口 public interface UserDao {List<User> findAll() th ...

  5. Mybatis中include标签的使用

    1.正常情况下使用 sql标签用作封装参数或SQL块 <sql id="Param_Block"> 名字随便起id,name,phone </sql> 或者 ...

  6. Android include 标签使用

    include 标签就是在一个布局中引入另一个布局, 好处呢,可能就是有多个界面某个部位的内容相同单独写了一个布局,在使用的时候使用include 还有可能界面布局在一个布局太长了,就多写了几个布局 ...

  7. Android include 标签

    android中include标签是为了便于控件的覆用的一个很好解决方案. 但是也有一些需要注意的地方,下面是本人在项目中碰到过的一个问题,做此记录,便于以后查看. include标签用法. 1.新建 ...

  8. Android: Custom View和include标签的区别

    Custom View, 使用的时候是这样的: <com.example.home.alltest.view.MyCustomViewandroid:id="@+id/customVi ...

  9. Android优化——UI优化(二) 使用include标签复用布局

    使用include标签复用布局 - 1.include标签的作用 假如说我下图的这个布局在很多界面都用到了,我该怎么办?每个页面都写一遍的话,代码太冗余,并且维护难度加大. <LinearLay ...

  10. android include 点击事件,Android 多个include标签的监听事件处理

    include标签的作用是为了xml文件代码的模块化,详细不再多提.主要是说说include标签的监听. 网上也有很多例子,不过大多是只写了一个include标签的监听,如果需要实现多个include ...

最新文章

  1. [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)
  2. 基于python的图形化邮件发送程序(支持添加附件)
  3. 【已解决】FileNotFoundError: [Errno 2] No such file or directory:_Python系列学习笔记
  4. android往天气接口里面传城市,Android使用中国天气网API数据通过城市名称获取天气情况...
  5. *【ZOJ - 3781】Paint the Grid Reloaded(dfs求连通块缩点,bfs求最短路,建图技巧)
  6. Atitit Atitit 图像处理之  Oilpaint油画滤镜 水彩画 源码实现
  7. 使用wePE工具安装纯净版windows10详细教程
  8. Office XP 程序设计之局域网中怎么配置Office Web组件?
  9. 论文阅读【A multi-task attention tree neural net for stance classification and rumor veracity detection】
  10. React 设置网页title
  11. 中国人保为嘉德奥通承保产品责任险,为消费者保驾护航!
  12. CAD制图怎么绘制对称的图形?
  13. java中浏览器电脑的分辨率_关于移动端适配,你必须要知道的
  14. 最新版java(JDK-14)下载及安装
  15. C++ 游戏开发(二)见缝插针小游戏
  16. 基于豆瓣评价的文本分析 ——以《流浪地球》为例
  17. git 将暂存区文件提交_git基础命令之提交文件
  18. 金融要求计算机水平,什么是金融人才?符合五大标准的金融人
  19. 启动报错this is very likely to create a memory leak
  20. GitLab: API is not accessible的错误解决

热门文章

  1. 改wifi密码显示服务器拒绝访问权限,wifi密码对但是拒绝接入? | 192路由网
  2. 竞赛资讯|阿里小蜜机器人跨语言短文本匹配算法竞赛
  3. spring boot的 banner
  4. AWS的十条军规: 过去十年的经验总结
  5. 開關(switch)規格中,SPDT, DPDT, 3PDT, 4PDT是什麼意思?
  6. 12306html布局,12306无法登陆怎么办
  7. 开源数据分析平台Countly
  8. 再见2021,你好2022
  9. 循序渐进学Java day1
  10. 循序渐进Linux目录