【Mybatis】中设置 jdbcType
先看mybatis官方文档:
http://www.mybatis.org/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html
public final enum
JdbcType
extends Enum<E extends Enum<E>>
java.lang.Object | ||
↳ | java.lang.Enum<E extends java.lang.Enum<E>> | |
↳ | org.apache.ibatis.type.JdbcType |
Summary
Enum Values | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
JdbcType | ARRAY | ||||||||||
JdbcType | BIGINT | ||||||||||
JdbcType | BINARY | ||||||||||
JdbcType | BIT | ||||||||||
JdbcType | BLOB | ||||||||||
JdbcType | BOOLEAN | ||||||||||
JdbcType | CHAR | ||||||||||
JdbcType | CLOB | ||||||||||
JdbcType | CURSOR | ||||||||||
JdbcType | DATALINK | ||||||||||
JdbcType | DATE | ||||||||||
JdbcType | DATETIMEOFFSET | ||||||||||
JdbcType | DECIMAL | ||||||||||
JdbcType | DISTINCT | ||||||||||
JdbcType | DOUBLE | ||||||||||
JdbcType | FLOAT | ||||||||||
JdbcType | INTEGER | ||||||||||
JdbcType | JAVA_OBJECT | ||||||||||
JdbcType | LONGNVARCHAR | ||||||||||
JdbcType | LONGVARBINARY | ||||||||||
JdbcType | LONGVARCHAR | ||||||||||
JdbcType | NCHAR | ||||||||||
JdbcType | NCLOB | ||||||||||
JdbcType | NULL | ||||||||||
JdbcType | NUMERIC | ||||||||||
JdbcType | NVARCHAR | ||||||||||
JdbcType | OTHER | ||||||||||
JdbcType | REAL | ||||||||||
JdbcType | REF | ||||||||||
JdbcType | ROWID | ||||||||||
JdbcType | SMALLINT | ||||||||||
JdbcType | SQLXML | ||||||||||
JdbcType | STRUCT | ||||||||||
JdbcType | TIME | ||||||||||
JdbcType | TIMESTAMP | ||||||||||
JdbcType | TINYINT | ||||||||||
JdbcType | UNDEFINED | ||||||||||
JdbcType | VARBINARY | ||||||||||
JdbcType | VARCHAR |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
public final int | TYPE_CODE |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static JdbcType | forCode(int code) | ||||||||||
static JdbcType | valueOf(String name) | ||||||||||
final static JdbcType[] | values() |
[Collapse]
Inherited Methods |
|||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
From class java.lang.Enum
|
|||||||||||||||||||||||||||||||||
From class java.lang.Object
|
|||||||||||||||||||||||||||||||||
From interface java.lang.Comparable
|
Enum Values
public static final JdbcType ARRAY
public static final JdbcType BIGINT
public static final JdbcType BINARY
public static final JdbcType BIT
public static final JdbcType BLOB
public static final JdbcType BOOLEAN
public static final JdbcType CHAR
public static final JdbcType CLOB
public static final JdbcType CURSOR
public static final JdbcType DATALINK
public static final JdbcType DATE
public static final JdbcType DATETIMEOFFSET
public static final JdbcType DECIMAL
public static final JdbcType DISTINCT
public static final JdbcType DOUBLE
public static final JdbcType FLOAT
public static final JdbcType INTEGER
public static final JdbcType JAVA_OBJECT
public static final JdbcType LONGNVARCHAR
public static final JdbcType LONGVARBINARY
public static final JdbcType LONGVARCHAR
public static final JdbcType NCHAR
public static final JdbcType NCLOB
public static final JdbcType NULL
public static final JdbcType NUMERIC
public static final JdbcType NVARCHAR
public static final JdbcType OTHER
public static final JdbcType REAL
public static final JdbcType REF
public static final JdbcType ROWID
public static final JdbcType SMALLINT
public static final JdbcType SQLXML
public static final JdbcType STRUCT
public static final JdbcType TIME
public static final JdbcType TIMESTAMP
public static final JdbcType TINYINT
public static final JdbcType UNDEFINED
public static final JdbcType VARBINARY
public static final JdbcType VARCHAR
Fields
public final int TYPE_CODE
Public Methods
public static JdbcType forCode (int code)
public static JdbcType valueOf (String name)
public static final JdbcType[] values ()
Generated by Doclava.
http://www.mybatis.org/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html
https://www.cnblogs.com/lixuwu/p/5916585.html
CS408
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。 人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
- 博客园
- 首页
- 新随笔
- 订阅
- 管理
随笔 - 407 文章 - 1 评论 - 27
(转)mybatis常用jdbcType数据类型
阅读目录
- 1 MyBatis 通过包含的jdbcType类型
- 2 Mybatis中javaType和jdbcType对应和CRUD例子
- 3 Mybatis中javaType和jdbcType对应关系
- 4 oracle数据类型和对应的java类型
回到顶部
1 MyBatis 通过包含的jdbcType类型
BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVARCHARSMALLINT DOUBLE LONGVARCHAR VARBINARY CLOB NCHARINTEGER NUMERIC DATE LONGVARBINARY BOOLEAN NCLOBBIGINT DECIMAL TIME NULL CURSOR
回到顶部
2 Mybatis中javaType和jdbcType对应和CRUD例子
<resultMap type="java.util.Map" id="resultjcm"><result property="FLD_NUMBER" column="FLD_NUMBER" javaType="double" jdbcType="NUMERIC"/><result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/><result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/><result property="FLD_INTEGER" column="FLD_INTEGER" javaType="int" jdbcType="INTEGER"/><result property="FLD_DOUBLE" column="FLD_DOUBLE" javaType="double" jdbcType="DOUBLE"/><result property="FLD_LONG" column="FLD_LONG" javaType="long" jdbcType="INTEGER"/><result property="FLD_CHAR" column="FLD_CHAR" javaType="string" jdbcType="CHAR"/><result property="FLD_BLOB" column="FLD_BLOB" javaType="[B" jdbcType="BLOB" /><result property="FLD_CLOB" column="FLD_CLOB" javaType="string" jdbcType="CLOB"/><result property="FLD_FLOAT" column="FLD_FLOAT" javaType="float" jdbcType="FLOAT"/><result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP" javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/></resultMap>
回到顶部
3 Mybatis中javaType和jdbcType对应关系
JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean TINYINT byte SMALLINT short INTEGER int BIGINT long REAL float FLOAT double DOUBLE double BINARY byte[] VARBINARY byte[] LONGVARBINARY byte[] DATE java.sql.Date TIME java.sql.Time TIMESTAMP java.sql.Timestamp CLOB Clob BLOB Blob ARRAY Array DISTINCT mapping of underlying type STRUCT Struct REF Ref DATALINK java.net.URL[color=red][/color]
回到顶部
4 oracle数据类型和对应的java类型
用mybatis generator生成代码后,执行查询语句时,oracle里的Date类型字段只精确到年月日,后面时分秒都为零。
jdbcType="DATE"时候,存入到数据库中的字段只有年月日!
后来发现是jdbcType问题,改成 jdbcType="TIMESTAMP" 就可以。(原先默认生成时是jdbcType="DATE")
地址:
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm#BHCJBJCC
SQL数据类型 | JDBC类型代码 | 标准的Java类型 | Oracle扩展的Java类型 |
---|---|---|---|
1.0标准的JDBC类型: |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.0标准的JDBC类型: |
|||
|
|
|
|
|
|
|
|
用户定义的对象 |
|
|
|
用户定义的参考 |
|
|
|
用户定义的集合 |
|
|
|
Oracle扩展: |
|||
|
|
N/A |
|
|
|
N/A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
u
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,让更多的人能够享受到获取知识的快乐!因为本人初入职场,鉴于自身阅历有限,所以本博客内容大部分来源于网络中已有知识的汇总,欢迎各位转载,评论,大家一起学习进步!如有侵权,请及时和我联系,切实维护您的权益!
分类: MyBatis
好文要顶 关注我 收藏该文
CS408
关注 - 3
粉丝 - 52
+加关注
0
0
« 上一篇:(转)MyBatis在插入的数据有空值时,可能为空的字段都要设置jdbcType
» 下一篇:(转)maven打包时跳过测试
posted @ 2016-09-28 15:33 CS408 阅读(28124) 评论(0) 编辑 收藏
https://www.cnblogs.com/lixuwu/p/5916585.html
https://www.cnblogs.com/DDgougou/p/8578618.html
记自己在mybatis中设置jdbcType的一个坑
1 Map<String, Object> conditionMap = new HashMap<>(3); 2 conditionMap.put("appuserId", appuserId); 3 conditionMap.put("startDate", startDate); 4 conditionMap.put("endDate", endDate); 5 6 List<Map<String, Object>> list1 = ecgAutoAnalysisMapper.getHealthDataList(conditionMap);
1 List<Map<String, Object>> getHealthDataList(Map<String, Object> conditionMap);
1 <!--measureStartTime为测量时间,在java中是一个java.util.Date,在mysql中是TIMESTAMP类型-->2 <resultMap id="healthDataMap" type="map">3 <result property="appuserId" column="appuserId" javaType="java.lang.String" jdbcType="CHAR"/>4 <result property="measureStartTime" column="measureStartTime" javaType="java.util.Date" jdbcType="TIMESTAMP"/>5 <result property="measureSecondLength" column="measureSecondLength" javaType="java.lang.Integer" jdbcType="INTEGER"/>6 <result property="hrOverallAvg" column="hrOverallAvg" javaType="java.lang.String" jdbcType="VARCHAR"/>7 <result property="chiefComplaint_symptom" column="chiefComplaint_symptom" javaType="java.lang.String" jdbcType="VARCHAR"/>8 <result property="chiefComplaint_diet" column="chiefComplaint_diet" javaType="java.lang.String" jdbcType="VARCHAR"/>9 <result property="chiefComplaint_activity" column="chiefComplaint_activity" javaType="java.lang.String" jdbcType="VARCHAR"/> 10 </resultMap> 11 12 <select id="getHealthDataList" parameterType="map" resultMap="healthDataMap"> 13 select 14 ea.appuserId,ea.measureStartTime,ed.measureSecondLength,ea.hrOverallAvg,ea.chiefComplaint_symptom, 15 ea.chiefComplaint_diet,ea.chiefComplaint_activity 16 from 17 ecg_auto_analysis ea 18 left join 19 ecg_data ed 20 on 21 ed.autoAnalysisId = ea.id 22 <where> 23 <if test="appuserId != null and appuserId != ''"> 24 and ea.appuserId = #{appuserId,jdbcType=CHAR} 25 </if> 26 <if test="startDate != null and startDate != ''"> 27 and ea.measureStartTime > #{startDate,jdbcType=Date} 28 </if> 29 <if test="endDate != null and endDate != ''"> 30 and #{endDate,jdbcType=Date} > ea.measureStartTime 31 </if> 32 </where> 33 </select>
数据库查询语句及结果(可以看到测量时间集中在两天,一个是3月9号,一个是3月15号):
1 select2 ea.appuserId,ea.measureStartTime,ed.measureSecondLength,ea.hrOverallAvg,ea.chiefComplaint_symptom,ea.chiefComplaint_diet,ea.chiefComplaint_activity3 from4 ecg_auto_analysis ea5 left join6 ecg_data ed7 on8 ed.autoAnalysisId = ea.id9 where 10 ea.appuserId = "393967382ec34f53a53a4d49271a422a" 11 and ea.measureStartTime > "2018-03-09 00:00:00" 12 and "2018-03-15 23:59:59" > ea.measureStartTime
1)先注释掉最后的两个if语句,mybatis的查询结果为7,证明问题就出在最后两个if语句中;
4)最后看了好长时间,我把 jdbcType=Date 改为 jdbcType=TIMESTAMP,查询结果正确了(这一步花了太多时间)。
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']
显示格式:YYYY-MM-DD
时间范围:['1000-01-01'到'9999-12-31']
显示格式:YYYY-MM-DD HH:MM:SS
时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']
在全栈的道路上,积极向上、成熟稳重、谦虚好学、怀着炽热的心向前方的走得更远。
posted @ 2018-03-16 09:44 低调的狗狗 阅读(6765) 评论(0) 编辑 收藏
https://www.cnblogs.com/DDgougou/p/8578618.html
【Mybatis】中设置 jdbcType相关推荐
- Mybatis中的jdbcType的作用
2019独角兽企业重金招聘Python工程师标准>>> Mybatis中的jdbcType的作用 使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错 ...
- MyBatis中设置事务自动提交
MyBatis中设置事务自动提交 MyBatis框架是对JDBC的封装,MyBatis中的事务控制方式其本质也是JDBC的setAutoCommit()方法来设置事务提交的方式的. 1.MyBatis ...
- mybatis中设置主键返回
mybatis中设置主键返回 <insert id="insertSelective" parameterType="com.nwow.pss.model.User ...
- mysql在xml中jdbctype,MyBatis中的JdbcType映射使用详解
Java项目涉及到数据库交互,以往常用的是JDBC,现在则有Hibernate.Mybatis等这些持久化支持. 项目中用到了MyBatis,和JDBC最显著的区别,就是SQL语句配置化,通过xml文 ...
- MyBatis中的jdbcType
MyBatis中常用的jdbcType BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINEDTINYINT REAL VARCHAR BINARY BLOB NVARCHA ...
- MyBatis中的JdbcType映射数据类型对照表
在Mybatisd的映射文件mapper.xml中,会用jdbcType把java类映射数据库表字段,有关映射关系做个笔记,方便查阅. JdbcType Oracle MySql JdbcType A ...
- MyBatis中jdbcType=INTEGER、VARCHAR作用
Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别 ...
- oracle jdbctype null,Oracle数据库之springboot 项目mybatis plus 设置 jdbcTypeForNull
本文主要向大家介绍了Oracle数据库之springboot 项目mybatis plus 设置 jdbcTypeForNull,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. ...
- Mybatis中jdbcType和javaType的对应关系
2019独角兽企业重金招聘Python工程师标准>>> Mybatis中jdbcType和javaType的对应关系 1 JDBC Type Java Typ ...
最新文章
- 面试官:因为这个语言,我淘汰了90%的人!
- 计算机视觉,基于skimage对图像阈值分割的学习
- 【spring-boot】启用数据缓存功能
- Method.invoke 异常捕获
- 放弃相爱,并不放弃彼此
- Windows与Linux下tftp服务的使用
- MVCToolKit中HtmlHelper.ActionLink的BUG?
- matlab d=sqrt((i-m)^2+(j-n)^2);,硕士研究生《数字图像处理》作业
- 关于php变量的赋值和引用的区别
- 10 大C++ Web(HTTP)开发开源框架/库推荐
- VMware Fusion网络配置相关原理
- 浅谈能源管理系统在钢铁企业上的应用
- 硬件保护和软件保护_什么是硬件保护?
- ^_^Hostname openapi.alipaydev.com not verified:
- 软件是一个工程,是一个商业活动,是一个艺术,更是一门经营管理。
- 经纬度差和米单位的换算
- SAS:数据合并简介
- 表情识别(二)--基于CNN分类
- 面向智能机器人的通讯安全机制研究与改进
- auto.js 公众号自动签到