<mapper namespace="com.sbl.dao.IUserDao" >
<!--當(dāng)實(shí)體類的屬性和數(shù)據(jù)庫不一致的時(shí)候绝页,需要配置查詢結(jié)果的列名和實(shí)體類的屬性名的對(duì)應(yīng)關(guān)系-->
<!--resultMap 的id是唯一表示,type代表查詢的實(shí)體類是哪個(gè)類型(我覺著是對(duì)相應(yīng)的實(shí)體類)-->
<resultMap id="userMap" type="com.sbl.domain.User">
<!--主鍵字段的對(duì)應(yīng)-->
<id property="userId" column="id"></id>
<!--非主鍵字段的對(duì)應(yīng)-->
<result property="userName" column="username"></result>
</resultMap>
<!--這里就使用了上面的唯一標(biāo)識(shí)-->
<select id="findAll" resultMap="userMap">
select * from user
</select>
<!--配置添加;對(duì)應(yīng)的是User中的屬性的值涤妒,注意要自動(dòng)生成get和set方法-->
<insert id="saveUser" parameterType="com.sbl.domain.User">
<!--配置插入操作后炭庙,keyProperty="id"對(duì)應(yīng)的實(shí)體類中屬性的名稱端朵;獲取插入數(shù)據(jù)的id画拾;keyColumn數(shù)據(jù)庫字段名-->
<selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
select last_insert_id();
</selectKey>
<!--values后面的是字段名com.sbl.domain.User這個(gè)類的屬性-->
insert into user (username,address,sex,birthday) values(#{username},#{address},#{sex},#{birthday}) ;
</insert>
<!--相當(dāng)于實(shí)體類查詢;配置更新操作;#{userName}是parameterType中類的屬性名,-->
<!--一定一致 There is no getter for property named 'userNam' in 'class com.sbl.domain.User'-->
<update id="updateUser" parameterType="com.sbl.domain.User">
update user set username = #{userName},address = #{address} where id = #{userId}
</update>
<!--配置刪除操作-->
<delete id="delUser" parameterType="INT">
delete from user where id = #{id}
</delete>
<!--配置查詢一個(gè)用戶對(duì)象-->
<select id="findById" parameterType="INT" resultType="com.sbl.domain.User" >
<!--只有一個(gè)參數(shù)敷矫,是個(gè)占位符就行,都可以音念,還是寫個(gè)好認(rèn)識(shí)的吧id-->
select *from user where id = #{hkgj}
</select>