1. 插入
1
2
3
4
5
6
|
<insert id= "需要实现的接口里的方法名" parameterType= "方法参数类型,如果是对象要写全类名" >
INSERT sql命令(命令里通过#{}获取对象属性)
<!--注意属性名区分大小写 -->
</insert>
<mapper>
|
EG:
1
2
3
4
5
|
<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. 查询
1
2
3
4
|
<select id= "方法名" parameterType= "方法参数类型" resultType= "方法返回值类型,全类名" >
SELECT 表里字段名 AS 结果字段名 FROM 表名 WHERE 条件
<!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>
|
EG:
1
2
3
4
5
6
7
8
|
<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语句基本一致,直接贴代码
1
2
3
4
|
< 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语句基本一致,直接贴代码
1
2
3
|
< delete id= "deletePerson" parameterType= "java.lang.Integer" >
DELETE FROM PRAC_PERSON WHERE P_ID=#{id}
</ delete >
|
下面看下mybatis的mapper配置文件的一般写法
mapper.xml大致如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<?xml version= "1.0" encoding= "UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace= "com.hzcominfo.voucher.CommodityCategoryManager" >
<cache-ref namespace= "com.hzcominfo.dataggr.cloud" />
<insert id= "insertCommodityCategoryManager" parameterType= "com.hzcominfo.voucher.mapper.CommodityCategoryManager" keyProperty= "id" >
INSERT INTO COMMODITY_CATEGORY_MANAGER (
<include refid= "fields" />
) VALUES (
<include refid= "values" />
)
</insert>
<update id= "updateCommodityCategoryManager" parameterType= "com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey" >
UPDATE COMMODITY_CATEGORY_MANAGER
<include refid= "set" />
<include refid= "where" />
</update>
<update id= "deleteCommodityCategoryManager" parameterType= "com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey" >
DELETE FROM COMMODITY_CATEGORY_MANAGER <include refid= "where" />
</update>
<select id= "selectCommodityCategoryManager" parameterType= "String"
resultType= "com.hzcominfo.voucher.mapper.CommodityCategoryManager" >
SELECT * FROM COMMODITY_CATEGORY_MANAGER <include refid= "where" />
</select>
<select id= "selectCommodityCategoryManagerByCriteria" parameterType= "net.butfly.albacore.dbo.criteria.Criteria"
resultType= "com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey" >
SELECT CATEGORY_ID, USER_ID FROM COMMODITY_CATEGORY_MANAGER <include refid= "where" />
</select>
<select id= "countCommodityCategoryManagerByCriteria" parameterType= "net.butfly.albacore.dbo.criteria.Criteria"
resultType= "long" >
SELECT count(*) FROM COMMODITY_CATEGORY_MANAGER <include refid= "where" />
</select>
<sql id= "fields" >
< if test= "categoryId!=null" >CATEGORY_ID</ if >
< if test= "userId!=null" >,USER_ID</ if >
</sql>
<sql id= "values" >
< if test= "categoryId!=null" >#{categoryId}</ if >
< if test= "userId!=null" >,#{userId}</ if >
</sql>
<sql id= "set" >
<set>
<trim prefix= "" prefixOverrides= "," >
< if test= "categoryId!=null" >,CATEGORY_ID=#{categoryId}</ if >
< if test= "userId!=null" >,USER_ID=#{userId}</ if >
</trim>
</set>
</sql>
<sql id= "where" >
<where>
<trim prefix= "" prefixOverrides= "and|or" >
< if test= "categoryId!=null" >AND CATEGORY_ID=#{categoryId}</ if >
< if test= "userId!=null" >AND USER_ID=#{userId}</ if >
</trim>
</where>
</sql>
</mapper>
|
以上所述是小编给大家介绍的Mybatis增删改查mapper文件写法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/menglinjie/article/details/58624060