03-MyBatis-添加操做

MyBatis添加操做

使用的sql:java

INSERT INTO `user`(username,birthday,sex,address) VALUES (‘黃忠’,‘2016-07-26’,‘1’,‘三國’)

映射文件 在User.xml配置文件中添加以下內容:mysql

<!-- 保存用戶 -->
	<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
		INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address})
	</insert>

mysql自增主鍵返回

查詢id的sqlsql

SELECT LAST_INSERT_ID()

經過修改User.xml映射文件,能夠將mysql自增主鍵返回: 以下添加==selectKey== 標籤mybatis

<!-- 保存用戶 -->
<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
	<!-- selectKey 標籤實現主鍵返回 -->
	<!-- keyColumn:主鍵對應的表中的哪一列 -->
	<!-- keyProperty:主鍵對應的pojo中的哪個屬性 -->
	<!-- order:設置在執行insert語句前執行查詢id的sql,孩紙在執行insert語句以後執行查詢id的sql -->
	<!-- resultType:設置返回的id的類型 -->
	<selectKey keyColumn="id" keyProperty="id" order="AFTER" resultType="int">
		SELECT LAST_INSERT_ID()
	</selectKey>
	INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address})
</insert>

LAST_INSERT_ID(): 是mysql的函數,返回auto_increment自增列新記錄id值。 ==注意這裏使用的order是「AFTER」==函數

mysql使用 uuid實現主鍵

須要增長經過select uuid()獲得uuid值ui

<!-- 保存用戶 -->
<insert id="saveUser" parameterType="cn.itcast.mybatis.pojo.User">
	<!-- selectKey 標籤實現主鍵返回 -->
	<!-- keyColumn:主鍵對應的表中的哪一列 -->
	<!-- keyProperty:主鍵對應的pojo中的哪個屬性 -->
	<!-- order:設置在執行insert語句前執行查詢id的sql,孩紙在執行insert語句以後執行查詢id的sql -->
	<!-- resultType:設置返回的id的類型 -->
	<selectKey keyColumn="id" keyProperty="id" order="BEFORE"
		resultType="string">
		SELECT LAST_INSERT_ID()
	</selectKey>
	INSERT INTO `user` (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address})
</insert>

注意這裏使用的order是「BEFORE」spa

SQL批量插入

<insert id ="insertCodeBatch" parameterType="java.util.List" >
            <selectKey resultType ="java.lang.Integer" keyProperty= "id"
                 order= "AFTER">
                SELECT LAST_INSERT_ID()
            </selectKey >
           insert into redeem_code
           (bach_id, code, type, facevalue,create_user,create_time)
           values
            <foreach collection ="list" item="reddemCode" index= "index" separator =",">
                (
                #{reddemCode.batchId}, #{reddemCode.code},
                #{reddemCode.type},
                #{reddemCode.facevalue},
                #{reddemCode.createUser}, #{reddemCode.createTime}
                )
            </foreach >
     </insert >
相關文章
相關標籤/搜索