日期:2014-05-16 浏览次数:20462 次
oracle数据库没有自增长功能 ?需要自己建一个序列(phb_keys)。具体怎么建就不说了。
?
hibernate 情况:
?
<hibernate-mapping>
?<class name="com.talkweb.model.Blog" table="blog">
? ?<id name="id" type="java.lang.String">
? ? <column name="id"></column>
? ? <generator class="sequence">
? ? ?<param name="sequence">phb_keys</param>
? ? </generator>
? ?</id>
? <property name="title" type="java.lang.String">
? ?<column name="title" length="20"></column>
? </property>
? <property name="content" type="java.lang.String">
? ?<column name="content" length="200"></column>
? </property>
?</class>
</hibernate-mapping>
?
?
?
ibatis 情况:
?
<insert id="insertBlog" parameterClass="blog"> ?
? ? ?<selectKey type="pre" keyProperty="id" resultClass="java.lang.String">
? ? ? ? ? ?select phb_keys.nextval as id from dual
? ? ?</selectKey>?
? ? ? ? <![CDATA[ INSERT INTO BLOG ( id, title, content) VALUES ( #id#,#title#, #content# ) ]]> ? ??
? ? </insert> ?
?
这种情况我的报错了 ?我就改成单独加一个序列查询的语句 ?每次先查询一次该语句得到主键
?
? ?<select id="getSerquence" resultClass="java.lang.String">
? ? ? ? select phb_keys.nextval as id from dual
? ? </select>
?
?
?
mybatis 情况:
?
<insert id="insertBlog" parameterType="Blog">
? ? ?<selectKey keyProperty="id" resultType="String" order="BEFORE">
? ?select phb_keys.nextval from dual
? </selectKey>
? ? ?insert into BLOG(id,title,content) values(#{id},#{title},#{content})
? ? </insert>?