在使用mybatis时,编写sqlmap脚本的时候,有时候会遇到很奇怪的问题:
比如:
#{imei,jdbcType=VARCHAR} as IMEI,
如果写成如下的方式,即在等于号两边有空格的话,就会报错。
#{imei,jdbcType = VARCHAR} as IMEI,
特此mark一下,留做纪念!
merge into DMS_MULTI_TASK_RESULT m
using (select #{taskId,jdbcType=NUMERIC} as TASK_ID,
#{subPolicyId,jdbcType=NUMERIC} as SUB_POLICY_ID,
#{msisdn,jdbcType=VARCHAR} as MSISDN,
#{manuId,jdbcType=NUMERIC} as MANU_ID,
#{modelId,jdbcType=NUMERIC} as MODEL_ID,
#{imei,jdbcType=VARCHAR} as IMEI,
#{swVersion,jdbcType=VARCHAR} as SW_VERSION,
#{pkgId,jdbcType=NUMERIC} as PKG_ID,
#{operation,jdbcType=NUMERIC} as OPERATION,
#{startTime,jdbcType=TIMESTAMP} as START_TIME,
#{endTime,jdbcType=TIMESTAMP} as END_TIME,
#{result,jdbcType=NUMERIC} as RESULT,
#{status,jdbcType=NUMERIC} as STATUS,
#{description,jdbcType=VARCHAR} as DESCRIPTION,
#{reportStatus,jdbcType=NUMERIC} as REPORT_STATUS,
#{readerStep,jdbcType=NUMERIC} as READER_STEP,
SYSDATE as INSERT_TIME,
#{provId,jdbcType=NUMERIC} as PROV_ID,
#{cityId,jdbcType=NUMERIC} as CITY_ID
from dual) n
on (m.task_id = n.task_id)
when not matched then
insert
(TASK_ID,
SUB_POLICY_ID,
MSISDN,
MANU_ID,
MODEL_ID,
IMEI,
SW_VERSION,
PKG_ID,
OPERATION,
START_TIME,
END_TIME,
RESULT,
STATUS,
DESCRIPTION,
REPORT_STATUS,
READER_STEP,
INSERT_TIME,
PROV_ID,
CITY_ID)
values
(n.TASK_ID,
n.SUB_POLICY_ID,
n.MSISDN,
n.MANU_ID,
n.MODEL_ID,
n.IMEI,
n.SW_VERSION,
n.PKG_ID,
n.OPERATION,
n.START_TIME,
n.END_TIME,
n.RESULT,
n.STATUS,
n.DESCRIPTION,
n.REPORT_STATUS,
n.READER_STEP,
n.INSERT_TIME,
n.PROV_ID,
n.CITY_ID)
when matched then
update
set m.SUB_POLICY_ID = n.SUB_POLICY_ID,
m.MSISDN = n.MSISDN,
m.MANU_ID = n.MANU_ID,
m.MODEL_ID = n.MODEL_ID,
m.IMEI = n.IMEI,
m.SW_VERSION = n.SW_VERSION,
m.PKG_ID = n.PKG_ID,
m.OPERATION = n.OPERATION,
m.START_TIME = n.START_TIME,
m.END_TIME = n.END_TIME,
m.RESULT = n.RESULT,
m.STATUS = n.STATUS,
m.DESCRIPTION = n.DESCRIPTION,
m.REPORT_STATUS = n.REPORT_STATUS,
m.READER_STEP = n.READER_STEP,
m.INSERT_TIME = n.INSERT_TIME,
m.PROV_ID = n.PROV_ID,
m.CITY_ID = n.CITY_ID
分享到:
相关推荐
在使用IntelliJ IDEA(IDEA)创建Mybatis项目时,有时可能会遇到无法执行的问题。这通常是由于配置不完整或错误导致的。Mybatis是一个轻量级的Java持久层框架,它通过XML或注解来配置和映射原生信息,将接口和Java的...
在使用Mybatis框架进行数据库操作时,有时会遇到排序功能无法正常工作的现象。本篇文章旨在深入解析这一问题,并提供有效的解决方案。 #### 问题描述 在实际开发过程中,当尝试通过动态SQL的方式实现排序功能时,...
标题 "Mybatis破MySql8小时断线问题1" 指的是在使用Mybatis框架与MySQL数据库交互时遇到的一个常见问题,即由于MySQL数据库的连接超时机制导致的8小时断线。描述中提到,当数据库连接闲置时间超过MySQL默认设定的8...
然而,在使用MyBatis时,可能会遇到找不到映射文件的问题,本文将详细介绍该问题的解决方法。 一、MyBatis映射文件的配置 在MyBatis中,映射文件是用于定义SQL语句和Java对象之间的映射关系的配置文件。通常情况下...
8. 强大的社区支持:Mybatis 有着广泛的用户基础和活跃的社区,遇到问题可以得到及时的解答和帮助。 在使用Mybatis时,我们需要配置Mybatis的核心配置文件(mybatis-config.xml),其中包含数据源、事务管理器、...
在传统的 Mybatis 使用中,如果想要查看执行的 SQL 语句,通常需要在日志配置中进行繁琐的设置,而这个插件的出现,极大地简化了这一操作。只需将日志级别调整到 Debug,即可轻松获取到 SQL 的执行情况,这对于开发...
在使用MyBatis框架进行数据操作时,可能会遇到字符编码问题,导致乱码现象。这里主要探讨的是关于MyBatis(以及它的前身iBatis)处理GBK和ISO-8859-1编码时出现的问题及其解决方案。 首先,我们要了解字符编码的...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和...不同版本的MyBatis反映了框架的演进历程,每个版本都在努力解决开发者遇到的问题,提高开发体验。
本文将围绕“mybatis_plugin 2.92 IDEA 2017亲测可用”这一主题,深入探讨MyBatis Plugin在IDEA 2017版本中的使用情况及遇到的问题及解决方案。 首先,MyBatis Plugin是专为IDEA设计的一款增强插件,它集成了诸如...
标题 "mybatis collection list string" 暗示了我们讨论的主题是关于MyBatis框架中与集合(List)和字符串(String)处理相关的问题。在MyBatis这个强大的持久层框架中,集合和字符串的使用非常常见,尤其是在进行数据库...
在使用MyBatis进行数据操作时,我们经常会遇到关于返回值类型的困扰,特别是涉及到基本类型int和对象类型Integer之间的转换。标题"mybatis返回Integer"指的是在MyBatis的映射文件或者Mapper接口中,使用Integer作为...
在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨MyBatis中处理CLOB类型数据的转换以及解决可能出现的异常情况。 首先,MyBatis是Java中的一...
本文将深入探讨MyBatis Generator的使用方法、配置以及常见问题,帮助开发者更好地理解和应用这一工具。 一、MyBatis Generator简介 MyBatis Generator是一个基于Java的代码生成器,它可以从数据库表结构中自动...
在MyBatis的上下文中,这可能指的是许可或授权方面的问题,比如用户可能在运行或部署MyBatis项目时,遇到了版权或者许可证的限制。MyBatis遵循Apache License 2.0,这是一个非常宽松的开源协议,允许自由使用、修改...
MyBatis 是一款著名的Java持久层框架,它允许开发者将SQL语句与Java代码分离,提供了更为灵活的数据库访问方式。在这个"mybatis 基础代码(非...在实践中不断摸索和优化,将使你更加熟练地运用MyBatis解决实际问题。
"Mybatis遇到的there is no getter异常解决方案" 在使用Mybatis框架进行数据库交互时,偶尔会遇到一个奇怪的问题,即在mapper接口中遇到"There is no getter for property"异常。这个异常的出现原因是由于Mybatis...
2. **设置基本信息**:在`Group Id`和`Artifact Id`处输入项目的基本信息,注意这里的`Artifact Id`即项目名,为了避免编译时出现问题,建议不要使用大写字母。同时,确保选择的JDK版本为8。 3. **选择依赖**:在`...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取...同时,理解源码有助于我们在遇到问题时能够快速定位并解决,提升开发效率。
`fluent-mybatis` 作为一个活跃的开源项目,有着丰富的文档和社区支持,遇到问题时可以快速获取帮助和解决方案。 在 `fluent-mybatis-master` 压缩包中,包含了项目的源码、示例、文档以及构建脚本等资源,开发者...
开发者可以通过查阅这个文档,查找具体类的用法、方法的参数说明、返回值类型等,以解决开发过程中遇到的问题。 总的来说,MyBatis 3.0.5 API是开发者理解和使用MyBatis框架的重要工具,无论是在项目初期的学习阶段...