20080803
一、往數(shù)據(jù)庫中存儲(chǔ)當(dāng)前時(shí)間,首先應(yīng)該想到的是有兩種方案,一種是使用oracle sysdate 實(shí)現(xiàn),如ibatis的寫法:
<insert id="insertColumnSetup" parameterClass="ColumnSetupBean"><selectKey keyProperty="id" resultClass="java.lang.Integer">select CIP_FIELDINFO_SEQ.nextval as id from dual</selectKey>insert into CIP_FIELDINFO(FIELDID,CIP_USERID,CIP_SETDATE,CIP_FIELDS)values(#id#,#userId#,sysdate,#fields# )</insert>?另一種是在action中生成,
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");Date date = new java.util.Date();String str = s.format(date);System.out.println(str);?
上面的代碼是把當(dāng)前日期按照要的格式format,但是format轉(zhuǎn)化為字符串。
如果想再轉(zhuǎn)為Date?對(duì)象,則需執(zhí)行:
Date date1= s.parse(str);System.out.println(date1);?
可惜輸出來的結(jié)果為:Sun Aug 03 00:00:00 CST 2008 不是我要的格式啊,等于轉(zhuǎn)了半天有退回到原始的new Date()數(shù)據(jù)了;
???????????究竟該怎么生成當(dāng)前的時(shí)間,并轉(zhuǎn)為我想要的格式,而且保證最后的結(jié)果還是Date型呢?
?
二、id 如果想使用ibaits的
<selectKey keyProperty="id" resultClass="java.lang.Integer">select CIP_FIELDINFO_SEQ.nextval as id from dual</selectKey>?
生成,則id 的類型必須為int.
?
三、ibatis配置文件中用到的javaBean必須帶有無參的構(gòu)造方法。
?
四、如果ibatis? 的select操作返回的結(jié)果是一個(gè)對(duì)象,如果該bean的屬性與對(duì)應(yīng)表的列名是相同的則可以直接使用resultClass,如果兩者不同,則需使用resultMap
1、先定義resultMap元素
<resultMap id="ColumnSetupBeanMap" class="ColumnSetupBean"><result property="id" column="FIELDID"/><result property="userId" column="CIP_USERID"/><result property="setDate" column="CIP_SETDATE"/><result property="fields" column="CIP_FIELDS"/> </resultMap>?
2、再在select中
??? <select id="selectColumnSetup" parameterClass="java.lang.String" resultMap="ColumnSetupBeanMap">select * from CIP_FIELDINFO where CIP_USERID=#userId#</select>?使用
?
?
總結(jié)
- 上一篇: JDOM/XPATH编程指南
- 下一篇: 20080823-jsp中include