Mybatis增删改查mapper文件写法
1. 插入
<mapper namespace="需要实现接口的全类名">
<insert id="需要实现的接口里的方法名" parameterType="方法参数类型,如果是对象要写全类名">
INSERT sql命令(命令里通过#{}获取对象属性)
<!--注意属性名区分大小写 -->
</insert>
<mapper>
EG:
<mapper namespace="com.mlj.dao.PersonDao">
<insert id="insertPerson" parameterType="com.mlj.entity.Prac_Person">
INSERT INTO PRAC_PERSON(p_NAME,P_PASSWORD) VALUES(#{name},#{password})
</insert>
</mapper>
2. 查询
<select id="方法名" parameterType="方法参数类型" resultType="方法返回值类型,全类名">
SELECT 表里字段名 AS 结果字段名 FROM 表名 WHERE 条件
<!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>
EG:
<resultMap type="Address" id="address">
<result column="A_PERSON" property="personId"/>
<result column="A_ADDRESS" property="address"/>
<result column="A_NUMBER" property="number"/></resultMap>
<select id="selectAddressByPersonId"
parameterType="java.lang.String" resultMap="address">
SELECT * FROM PRAC_ADDRESS LEFT JOIN PRAC_PERSON ON A_PERSON=#{personId} AND PRAC_ADDRESS.A_PERSON=PRAC_PERSON.P_ID
</select>
此处先配置resultMapp,使表列名与属性名一致。
3.修改
与前面插入除了sql语句基本一致,直接贴代码
<update id="updatePersonInformation" parameterType="com.mlj.entity.Prac_Person" >
UPDATE PRAC_PERSON SET P_NAME=#{name},P_PASSWORD=#{password} WHERE P_ID=#{id}
<!-- 属性字段名区分大小写 -->
</update>
4.删除
与前面插入除了sql语句基本一致,直接贴代码
<delete id="deletePerson" parameterType="java.lang.Integer">
DELETE FROM PRAC_PERSON WHERE P_ID=#{id}
</delete>