Topic: iBatis框架插入一条数据有些字段是空值没法插入

  Print this page

1.iBatis框架插入一条数据有些字段是空值没法插入 Copy to clipboard
Posted by: scott_ysh
Posted on: 2004-08-03 14:37

本人在DAO用了iBatis,做一个测试类插入一条数据,其中有一可以为空字段groupId没有附值,结果报错插不进去。
测试写入数据:
  public void testInsertUser() {
    User user = null;
user = new User();
user.setUserId("001011");
user.setUserName("admin");
user.setPwd("123456");
user.setEmail("admin@jcy.com");
user.setStatus("used");
userService.insertUser(user);
  }

User.XML
<insert id="insertUser" parameterClass="user">
insert into T_USER (USERID, USERNAME, PWD, STATUS, EMAIL, GROUPID)
values (#userId#,#userName#, #pwd#, #status#, #email#, #groupId#)
</insert>
是不是在上面定义了的字段一定要附值呢?

2.Re:iBatis框架插入一条数据有些字段是空值没法插入 [Re: scott_ysh] Copy to clipboard
Posted by: floater
Posted on: 2004-08-03 22:19

set default to '' or ' '

3.Re:iBatis框架插入一条数据有些字段是空值没法插入 [Re: floater] Copy to clipboard
Posted by: gunrose
Posted on: 2004-08-04 13:17

你的数据库设计的时候让它不可以为空,你当然要做些事情了。不然干吗在数据库设计成这样?要么检查是否为空,要么改数据库。

在iBatis中,你还可以这么做:

<insert id="insertUser" parameterClass="user">
insert into T_USER (USERID, USERNAME, PWD, STATUS, EMAIL, GROUPID)
values (#userId#,#userName#, #pwd#, #status#, #email#, #groupId:NUMERIC:-99999#)
</insert>


意思是当groupId为空时,把-99999放进数据库

4.Re:iBatis框架插入一条数据有些字段是空值没法插入 [Re: scott_ysh] Copy to clipboard
Posted by: scott_ysh
Posted on: 2004-08-04 16:18

谢谢两位!我后来加一个isnotnull属性,判断一下就可以啦。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923