into
表名(列名,列名....)
values(值,值....)
这样如何呢?是不是你insert
into
表名后面没有指定列,那样的话默认是所有列,对应的也要插入所有值。感觉应该是这个原因。
单元测试系列之5:使用unitils测试Service层S.H.E.D. 0.9b 发布
单元测试系列之4:使用Unitils测试DAO层推荐群组:淄博IT圈子更多相关推荐Java综合
------------------------登录日志表
create table LoginLog(
LoginId number(9) primary key,--日志ID
UserId varchar2(50) not null,--登录用户ID【外键】
LoginTime Date default sysdate not null,--登录时间,默认为插入数据的时间
IfSuccess number(9) not null ,--登录是否成功 0:未成功 1:成功
LoginUserIp varchar2(100) not null,--登录用户IP
LoginDesc varchar2(100) not null,--登录备注
constraint fk_LoginLog_UserId foreign key(UserId) references UserInfo(UserId))create sequence seq_LoginLog
start with 100
increment by 1cache 100-------------------------------------------------------
这是测试数据,两种添加方法都测试过没问题。
insert into LoginLog values(seq_LoginLog.Nextval,'wwww',sysdate,1,'127.0.0.8','用户成功登陆')
insert into LoginLog(LoginId,UserId,IfSuccess,LoginUserIp,LoginDesc) values(seq_LoginLog.Nextval,'wwww',1,'127.22.0.8','用户成功登陆')
在数据库中 *** 作都没有问题,这是java代码:
Loginlog log=new Loginlog()//创建日志对象/*** 填充登录日志数据*/log.setUserinfo(info)
log.setIfsuccess(1)
log.setLoginuserip(ip)
log.setLogindesc("用户成功登录")
这四个值都手动设置了,ID在hibernate映射文件中已经设置过没问题了,就剩一个日期,按理说有默认值,在这里都不用在设置了,但是默认值却添加不进去。
推荐链接Java开发新方式:专注UI,快速开发!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)