首页 > 代码库 > 003杰信-在oracle数据库中插入数据,当字段允许为空时要特殊处理

003杰信-在oracle数据库中插入数据,当字段允许为空时要特殊处理

本博客的内容全部来自于传智播客,特在此说明。

业务要求如下:在jsp页面上输入数据时,转到后台,并输入到数据库。

jsp页面:

技术分享

 

 

 

 

数据库的字段设计:

技术分享

 

 

注意:

当jsp页面上有些字段内容为空,因为数据库那些字段允许为空,所以以为这样做不会有错,其实Mysql开发时是可以的,但是用oracle时不行。

 

在用Mybatis时,在写Mybatis的配置文件时要这么写:

<insert id="insert" parameterType="cn.itcast.jk.domain.Factory"><!-- 当数据库是Oracle时,如果插入的数据是空时,必须是要指定默认的参数。所以这里的设置要这么写:jdbcType=VARCHAR。
Mysql数据库开发就不用指定jdbcType=VARCHAR这么写。
-->insert into factory_c(FACTORY_ID,FULL_NAME,FACTORY_NAME,CONTACTS,PHONE,MOBILE,FAX,CNOTE,INSPECTOR,ORDER_NO,CREATE_BY,CREATE_DEPT,CREATE_TIME) values(#{id,jdbcType=VARCHAR},#{fullName,jdbcType=VARCHAR},#{factoryName,jdbcType=VARCHAR},#{contacts,jdbcType=VARCHAR},#{phone,jdbcType=VARCHAR},#{mobile,jdbcType=VARCHAR},#{fax,jdbcType=VARCHAR},#{cnote,jdbcType=VARCHAR},#{inspector,jdbcType=VARCHAR},#{orderNo,jdbcType=INTEGER},#{createBy,jdbcType=VARCHAR},#{createDept,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP})</insert>

 

怕以后用oracle开发时,碰到这个问题,所以写这篇博客。

003杰信-在oracle数据库中插入数据,当字段允许为空时要特殊处理