在oracle中数据库中需要指定,因为,不指定,像Integer,Long,VArchar,等等都可以为null,这样插入null,mybatis就不能判断是什么数据类型,因为mybatis框架需要转化这些数据类型同数据库类型一致然后插入数据库,
那么需要在每个插入数据库字段的后面加上jdbcType
-
<insert id="save"
-
parameterType="com.tarena.entity.Cost">
-
insert into cost values(
-
#{roleId},//这个就不用了,因为后台service中会手动设置uuid,不会为null,后端已经设置了,就是自己可控的,前端自己不可控,自己可控的并且设置了值,就不要判断,例如下面,下面的state值也是已经在service中设置好了,那么就不用写jdbcType了
<update id="updateState" parameterType="map" >
update CONTRACT_C SET
STATE=#{state}
where CONTRACT_ID in
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
-
cost_seq.nextval,
-
#{name,jdbcType=VARCHAR},
-
#{base_duration,jdbcType=INTEGER},
-
#{base_cost,jdbcType=DOUBLE},
-
#{unit_cost,jdbcType=DOUBLE},
-
#{status,jdbcType=CHAR},
-
#{descr,jdbcType=VARCHAR},
-
#{creatime,jdbcType=TIMESTAMP},
-
#{startime,jdbcType=TIMESTAMP},
-
#{cost_type,jdbcType=CHAR}
-
)
-
</insert>
jdbcType 时间类型当jdbcType = DATE 时, 只传入了 年月日
-
jdbcType = TIMESTAMP , 年月日+ 时分秒
那么如何插入null呢
第一步:
insert into table_name(_id,username) values(_id = #{_id,jdbcType=INTEGER},username=#{username,jdbcType=VARCHAR})
加上jdbcType=”数据类型“就可以了。
第二步:其实还需要在mybatis的配置文件中写入:
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
转载于:https://my.oschina.net/u/3043570/blog/2243874
分享到:
相关推荐
mybatis常用jdbcType数据类型.txt mybatis常用jdbcType数据类型.txt
经过修改源码的mybatis逆向工程生成器(不生成jdbcType)
struts2+mybatis解决longblob字段问题,存读取并下载longblob字段
主要介绍了MyBatis常用的jdbcType数据类型的相关资料,需要的朋友可以参考下
mybatis安装包+依赖包+常用配置文件+4-mybatis generator的插件+EHcache+MyBatis 通过包含的jdbcType类型+测试数据脚本
6、XML中,原先会对每字段都写上jdbcType,现在去掉了,减少代码量。 7、XML中,update语句修改为使用判断字段是否为空进行更新,而不是原先的每个字段都更新。 8、Service和Dao层,自动添加Spring注解。 9、将原先...
-- 对于的类型 jdbcType --> <id column="ID" property="id" jdbcType="INTEGER" /> <result column="NoticeText" property="noticeText" jdbcType="VARCHAR"/> <result column="EndTime" property="endTime" ...
今天小编就为大家分享一篇关于Mybatis工具类JdbcTypeInterceptor运行时自动添加jdbcType属性,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
使用驱动连接数据库,自动生成dao层,和service层,好用快捷,欢迎下载。
在 MyBatis 配置文件中,我们需要在 mappers 标签中引用这些 SQL 映射 XML 文件,例如: ``` ``` SQL 映射 XML 文件的元素 在 SQL 映射 XML 文件中,有多种元素可以被使用。下面是一些初级的元素: * ...
该资源包含了 使用generator自动生成mybatis相关的mapper文件及映射的xml文件、数据库表对应的实体类 所需要的所有文件,两个jar包(mybatis-generator-core-1.3.5.jar,mysql-connector-java-5.1.15.jar),...
SpringBoot+mybatis基于注解式增删改查框架源码程序, @Insert("INSERT INTO USER(nick_name, user_code) VALUES(#{nickName}, #{userCode})") int insertParam(@Param("nickName") String nickName, @Param(...
使用Mybatis-Generator自动生成Dao、Model、...Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成这些文件。
mybatis-1-3-7自动生成工具修改版源码--maven项目 1、实体类添加注释。 2、mapper.xml去掉jdbcType类型转换 3、修改文件名mapper.java修改为IDAO.java 4、提取BaseDao,修改dao层接口自动继承。考虑是否生成Example类...
有关定时示例以及何时提供jdbcType与何时不在xml中之间的计时差异,请参见此项目中的DefaultTimerService。 表规范可以在找到。 性能降级位置 运行OraclePreparedStatement#executeLargeBatch时,大多数处理似乎都...
mybatis-plus-generator自动生成xml,dao,entity,service,controller。注释清楚,下载执行。需要添加下面依赖 <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter <version>2.3 ...
在orm框架中,比如hibernate和mybatis都可以设置关联对象,比如user对象关联dept 假如查询出n个user,那么需要做n次查询dept,查询user是一次select,查询user关联的 dept,是n次,所以是n+1问题,其实叫1+n更为...
java查看方法源码MyBatipse:MyBatis 的 Eclipse 插件 是一个流行的 SQL Mapper 框架。 MyBatipse是一个 ...javaType、jdbcType、typeHandler resultMap/collection/association 中的结果元素:为父 java 类属
├─MyBatis-zh │ │ clirr-report.html │ │ configuration.html │ │ cpd.html │ │ cpd.xml │ │ dependencies.html │ │ dependency-info.html │ │ distribution-management.html │ │ dynamic-sql....