日期:2014-05-16 浏览次数:20515 次
? sybase数据库使用mybatis框架插入数据返回主键值,sybase数据库是个冷门东西。使用常规的搞法,例如:
<insert id="insert" parameterType="com.talkweb.zqgzt.service.pojo.BAS_FILE"> <selectKey resultType="integer" order="AFTER" keyProperty="ID"> select @@IDENTITY as ID </selectKey> INSERT INTO BAS_FILE ( <if test="FJMC!=null">FJMC,</if> <if test="PATH!=null">PATH,</if> SCSJ ) VALUES( <if test="FJMC!=null">#{FJMC},</if> <if test="PATH!=null">#{PATH},</if> getdate() ) </insert>
?这样返回的主键值永远是0,使用下面这种BT的搞法,居然可以返回正确的值:
?
<select id="selectInsert" parameterType="com.talkweb.zqgzt.service.pojo.BAS_FILE" resultType="int"> INSERT INTO BAS_FILE ( <if test="FJMC!=null">FJMC,</if> <if test="PATH!=null">PATH,</if> SCSJ ) VALUES( <if test="FJMC!=null">#{FJMC},</if> <if test="PATH!=null">#{PATH},</if> getdate() ) select @@IDENTITY as ID </select>
?在DAO层使用 selectOne()方法来取得主键值。
?
? 就先写这么多,有兄弟遇到具体的问题,请留言讨论。
?