一、select用法示例
<!-- 查询学生,根据id -->
<select id="getStudent" parameterType="String" resultMap="studentResultMap">
SELECT ST.STUDENT_ID,
ST.STUDENT_NAME,
ST.STUDENT_SEX,
ST.STUDENT_BIRTHDAY,
ST.CLASS_ID
FROM STUDENT_TBL ST
WHERE ST.STUDENT_ID = #{studentID}
</select>
这条语句就叫做‘getStudent,有一个String参数,并返回一个StudentEntity类型的对象。
注意参数的标识是:#{studentID}。
select 语句属性配置细节:
二、insert示例
<!-- 插入学生 -->
<insert id="insertStudent" parameterType="StudentEntity">
INSERT INTO STUDENT_TBL (STUDENT_ID, STUDENT_NAME,STUDENT_SEX,STUDENT_BIRTHDAY,
CLASS_ID)
VALUES
(#{studentID}, #{studentName}, #{studentSex}, #{studentBirthday},
#{classEntity.classID})
</insert>
insert可以使用数据库支持的自动生成主键策略,设置useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。比如说上面的StudentEntity 使用auto-generated 为id 列生成主键.
<insert id="insertStudent" parameterType="StudentEntity"
useGeneratedKeys="true" keyProperty="studentID">
推荐使用这种用法。
另外,还可以使用selectKey元素。下面例子,使用mysql数据库nextval(‘student’)为自定义函数,用来生成一个key。
<!-- 插入学生 自动主键-->
<insert id="insertStudentAutoKey" parameterType="StudentEntity">
<selectKey keyProperty="studentID" resultType="String" order="BEFORE">
select nextval('student')
</selectKey>
INSERT INTO STUDENT_TBL (STUDENT_ID, STUDENT_NAME, STUDENT_SEX,STUDENT_BIRTHDAY,
CLASS_ID)
VALUES
(#{studentID},#{studentName}, #{studentSex},#{studentBirthday},
#{classEntity.classID})
</insert>
insert语句属性配置细节:
selectKey语句属性配置细节:
批量插入(说明两种方式)
方法一:
<insert id="add" parameterType="EStudent">
<foreach col