使用ibatIS插入系统时间,代码一般是 new Date()直接写入系统时间,但是我们用的Oracle数据库,new Date()
默认只能插入年-月-日,没有时分秒,ibatIS不能自动处理。
一、insert直接命名为sysdate:
<insert id="insert" parameterClass="com.hanpeng.base.phone.model.TDocument">
INSERT INTO T_DOCUMENT (
ROW_NO ,
CLASS_NAME ,
TITLE ,
CONTENT_INTRODUCTION ,
KEYWORDS ,
CREATE_DATE ,
EXAMPLE1 ,
EXAMPLE2 ,
EXAMPLE3 ,
ROW_NOFK ,
FILE_PATH
) VALUES (
#rowNo:VARCHAR# ,
#className:VARCHAR# ,
#title:VARCHAR# ,
#contentIntroduction:VARCHAR# ,
#keywords:VARCHAR# ,
#createDate:sysdate# ,
#example1:VARCHAR# ,
#example2:VARCHAR# ,
#example3:VARCHAR# ,
#rowNofk:VARCHAR# ,
#filePath:VARCHAR#
)
</insert>
二、直接插入sysdate,系统时间:
1.修改xml(TBussinessSafe.xml),date赋值时直接给sysdate,且必须是<isNotEmpty>
<update id="update" parameterClass="com.hanpeng.base.phone.model.TBussinessSafe">
UPDATE T_BUSSINESS_SAFE
SET
<isNotNull prepend=" " property="bussinessId">
BUSSINESS_ID = #bussinessId#
</isNotNull>
<isNotNull prepend="," property="bussinessNote">
BUSSINESS_NOTE = #bussinessNote#
</isNotNull>
<isNotEmpty prepend="," property="bussinessNoteDate">
BUSSINESS_NOTE_DATE = sysdate
</isNotEmpty>
<isNotNull prepend="," property="bussinessNoteState">
BUSSINESS_NOTE_STATE = #bussinessNoteState#
</isNotNull>
<isNotNull prepend="," property="state">
STATE = #state#
</isNotNull>
WHERE
BUSSINESS_ID=#bussinessId#
</update>
2.代码中再使用时,可以new Date(),sqlMap就会自动插入当前数据库系统时间,时分秒格式!
/*1.发送短信前先向数据库发出记录,记录要发送的短信信息*/
String ranNum = KeyedDigestMD5.getKeyedDigest(VerificationGen.getVerification(4), "")
.toUpperCase();
TBussinessSafe tbs = service.queryUserById(bussinessId.trim());
tbs.setBussinessNote(ranNum);//要发送的短信信息
tbs.setBussinessNoteDate(new Date());//商户短信密码到期时间
tbs.setBussinessNoteState("17");//短信是否验证,默认17未读取
service.updateBussinessSafe(tbs);
三、不插入系统时间但是还要显示 年-月-日 时:分:秒
1.sqlMap文件
<update id="update" parameterClass="com.hanpeng.base.phone.model.TBussinessSafe">
UPDATE T_BUSSINESS_SAFE
SET
<isNotNull prepend=" " property="bussinessId">
BUSSINESS_ID = #bussinessId#
</isNotNull>
<isNotEmpty prepend="," property="bussinessNoteDate">
BUSSINESS_NOTE_DATE = sysdate
</isNotEmpty>
<isNotNull prepend="," property="bussinessLastDate">
BUSSINESS_LAST_DATE = #bussinessLastDate:TIMESTAMP#
</isNotNull>
<isNotNull prepend="," property="bussinessPassReset">
BUSSINESS_PASS_RESET = #bussinessPassReset:DATE#
</isNotNull>
<isNotNull prepend="," property="bussinessComm">
BUSSINESS_COMM = #bussinessComm:NUMERIC#
</isNotNull>
<isNotNull prepend="," property="bussinessCommDefault">
BUSSINESS_COMM_DEFAULT = #bussinessCommDefault:NUMERIC#
</isNotNull>
WHERE
BUSSINESS_ID=#bussinessId#
</update>
###把BUSSINESS_LAST_DATE = #bussinessLastDate:DATE# 改为 TIMESTAMP
2.action中代码
/**
* 1.更新登录安全信息:登录时间、登录IP
*/
Date newDate = new Date();
String newID = getRequest().getRemoteAddr();
String oldID = "";
if(tbs.getBussinessLoginIp() != null){
oldID = tbs.getBussinessLoginIp();
}
Date oleDate = null;
if(tbs.getBussinessLoginDate() != null){
oleDate = tbs.getBussinessLoginDate();
}
tbs.setBussinessLastDate(oleDate);
tbs.setBussinessLastIp(oldID);
tbs.setBussinessLoginDate(newDate);
tbs.setBussinessLoginIp(newID);
if(flag.equals("true")){
tbs.setBussinessNoteState("16");
}
//更新商户登入信息
service.updateBussinessSafe(tbs);
分享到:
相关推荐
iBATIS SQLMap
ibatis sqlMap dtd ibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtd
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...
ibatis-sqlmap ibatis-sqlmap-2 ibatis-sqlmap-2.jar.zip
ibatis-sqlmap-2.3.0中sqlmap支持通配符
学会ibatis 中sqlMap配置
ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用
ibatis-sqlmap_2.3.4.jar 和 ibatis-sqlmap_2.jar 两个jar包的下载
根据表生成ibatis的sqlMap文件,字段很多的时候可以用,算是一个工具类,生成了select和insert的语句,用的jdbc
iBatis_SqlMap的配置总结,非常有用。
eclipse工程,工程中所用到library在lib文件夹下,建表的语句在工程文件下person.sql
ibatis_SqlMap的配置,SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70%的工作量。
Source of ibatis-sqlmap version 2.3.4.726
ibatis中SQL语句映射指导!
缓存机制,事务处理,动态sql,SqlMap
ibatis-common-2.jar ibatis-sqlmap-2.jar ibatis-dao-2.jar
NULL 博文链接:https://wutao33543.iteye.com/blog/562551
ibatis相关的common,dao,sqlmap包