mybatis的XML配置文件中,typeHandler、jdbcType、javaType的使用
1.前言
typeHandler、jdbcType、javaType都是用来处理java数据类型和jdbc数据库数据类型的转换问题,但在xml的不同位置使用需要注意引号使用问题。
2.在xml的不同位置的使用方式
1)在xml的尖括号标签内做属性
必须给属性值加引号
<typeHandlers>
<typeHandler handler="org.apache.ibatis.type.EnumTypeHandler"
javaType="Sex" />
</typeHandlers>
如果没有引号则要报错
2) 在xml的sql语句占位'#{ }'内
不能使用引号
后台java测试方法
private SqlSession sqlSession = null;
@Before
public void openSession()
{
sqlSession = MyBatisUtil.createSqlSession();
} @Test
public void addStudent()
{
int addRows = sqlSession.insert("com.kgc.dao.StudentMapper.addStudent",
new Student(Short.valueOf("23"), Sex.FEMALE, "张大明"));
sqlSession.commit();
System.out.println("新增的行数" + addRows);
}
示例1:给typeHandler、jdbcType、javaType加上引号
<insert id="addStudent" parameterType="Student"
useGeneratedKeys="true" keyProperty="id">
<selectKey keyProperty="id" resultType="string" order="BEFORE">
select uuid()
</selectKey>
insert into test_student (id,age, sex, name)
values (#{id},
#{age ,jdbcType="TINYINT" ,javaType="short"},
#{sex, typeHandler="org.apache.ibatis.type.EnumTypeHandler"},
#{name} )
</insert>
JUinit提示不知道"TINYINT"的枚举类型
示例2:取消typeHandler、jdbcType、javaType属性值的引号
<insert id="addStudent" parameterType="Student"
useGeneratedKeys="true" keyProperty="id">
<selectKey keyProperty="id" resultType="string" order="BEFORE">
select uuid()
</selectKey>
insert into test_student (id,age, sex, name)
values (#{id},
#{age ,jdbcType=TINYINT ,javaType=short},
#{sex, typeHandler=org.apache.ibatis.type.EnumTypeHandler},
#{name} )
</insert>
控制台打印,增加数据成功。
3.总结
在xml的尖括号标签内做属性,需要给typeHandler、jdbcType、javaType的属性值加引号;
在xml的sql语句占位'#{ }'内 ,不能给typeHandler、jdbcType、javaType的属性值加引号。
mybatis的XML配置文件中,typeHandler、jdbcType、javaType的使用的更多相关文章
- Mybatis在xml配置文件中处理SQL中的大于小于号的方法
之前在项目中遇到了在SQL中<=不识别的问题,在Navicat中语句正常,在xml中不识别,想起来就记录一下 项目用的是Mybatis,经过网上多次查询,验证,总结方法如下: 一.使用<! ...
- mybatis的xml文件中如何处理大小于号
在mybatis的xml配置文件中会遇到大小于号转化的问题,解决问题的方法如下: 1.用转义字符把>和<替换掉 SELECT * FROM test WHERE AND start_dat ...
- mybatis 中的 xml 配置文件中 ‘<’、 ‘>’ 处理
mybatis 中的 xml 配置文件中 '<'. '>' 处理 1.使用转义字符将 '<'. '>' 替换掉. 描述 字符 转义字符 小于号 < < 大于号 &g ...
- IDEA中写MyBatis的xml配置文件编译报错的坑
IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...
- mybatis :xml文件中传入参数和if标签结合使用时要点
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...
- MyBatis Mapper.xml文件中 $和#的区别
MyBatis Mapper.xml文件中 $和#的区别 网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramN ...
- @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。
@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationEx ...
- 通过java程序调用ant build.xml配置文件中指定的target
一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...
- Spring的xml配置文件中约束的必要性 找不到元素 'beans' 的声明
今天在复习Spring MVC框架的时候,只知道xml配置文件中的约束有规范书写格式的作用,所以在配置HandlerMapping对象信息的时候没有加入约束信息之后进行测试,没有遇到问题.后来在配置S ...
随机推荐
- jqGrid 添加 合计行 footDate
jQuery(table_id).jqGrid({ url : url,//组件创建完成之后请求数据的url datatype : "json",//请求数据返回的类型.可选jso ...
- jenkins 最新版 搭建
jenkins 中文网:https://jenkins.io/zh/ 点击下载:https://jenkins.io/zh/download/ 然后选择对应的安装环境,我的CentOS 7.6: 有外 ...
- Spark 内存管理
Spark 内存管理 Spark 执行应用程序时, 会启动 Driver 和 Executor 两种 JVM 进程 Driver 负责创建 SparkContext 上下文, 提交任务, task的分 ...
- 实验吧-隐写术-男神一般都很低调很低调的!!(stegsolve->Image Combiner + DES加密)
先介绍一下DES加密:(也可参考https://blog.csdn.net/zz_Caleb/article/details/87016017,第14个) 1)对称加密,参考:对称加密和非对称加密 2 ...
- 逆向-PE重定位表
重定位表 当链接器生成一个PE文件时,会假设这个文件在执行时被装载到默认的基地址处(基地址+RVA就是VA).并把code和data的相关地址写入PE文件.如果像EXE一样首先加载就是它image ...
- CodeForces - 401C Team(简单构造)
题意:要求构造一个字符串,要求不能有连续的两个0在一起,也不能有连续的三个1在一起. 分析: 1.假设有4个0,最多能构造的长度为11011011011011,即10个1,因此若m > (n + ...
- JQ+AJAX 发送异步请求
1. load() ; 作用:通过ajax 请求从服务器加载数据,并添加到符合要求的节点上 用法:$node.load(请求地址,请求参数) 请求参数写法: --"username=admi ...
- node.js爱心邮件
一.用的软件是VsCode:下载地址:https://code.visualstudio.com/ 二.用的是node.js完成:下载地址:http://nodejs.cn/download/ 无脑下 ...
- SQL中将某个字段根据分隔符分割成两个字段
假设有表如下: 商品名称 耐克/DS001 安踏/AT002 阿迪达斯/AD009 使用SQL将[商品名称]字段按照分隔符‘/’进行分割后实现以下效果: 品牌 商品代码 耐克 DS001 安踏 AT0 ...
- salt教程1-理解saltstack
https://docs.saltstack.com/en/getstarted/system/index.html 1 基本介绍 通过观察它的实际运行,你可以大致理解salt如何工作.这意味着,在控 ...