3. 通用的增删改查(CRUD)
使用<select>
、<insert>
、<update>
、<delete>
分别执行 查询、新增、修改、删除的sql
insert、update、delete三种sql不用特殊别名,返回类型,默认返回影响行数,整形。
select需要指定返回类型, resultType 表示单条结果集映射的类型
- 实体VO、Map、基础类型
当需要参数的时候 parameType,表示需要的参数类型
- 实体VO、Map、基础类型(Integer、String)
3.1 查询sql语句
使用select标签表示执行查询类型的sql
- id:给MapperdStatement命名, 配合namespace 使用,表示全局唯一的一个SQL语句。
- resultType: 表示单条结果集映射的类型
- parameterType: 参数类型
xml
<select id="selectById" resultType="java.util.Map" parameterType="java.lang.Integer">
select * from upload_files where id = #{id}
</select>
3.2 更新、插入、查询sql语句
- id:给MapperdStatement命名, 配合namespace 使用,表示全局唯一的一个SQL语句。
- parameterType: 参数类型
xml
<insert id="saveUploadFile" parameterType="java.util.Map">
INSERT INTO upload_files ( origin_name, path, upload_time, size, ip )
VALUES ( #{origin_name}, #{path}, #{upload_time}, #{size}, #{ip} )
</insert>
<update id="update" parameterType="java.util.Map">
UPDATE
upload_files
SET
origin_name= #{origin_name},
path= #{path},
upload_time= #{upload_time},
size= #{size},
ip= #{ip}
WHERE id= #{id}
</update>
<delete id="delete" parameterType="java.lang.Integer">
delete from upload_files WHERE id= #{id}
</delete>
3.3 绑定变量
使用#{key}
代表绑定变量,如果参数类型是Map,key就是Map的key,如果是实体key实体的属性,如果参数是基础类型(String),可以自定义。使用ognl表达式从作用域中获取数据,ONGL也可以参与运算,
root对象 map
ip:ssss,
size:555
root对象 uploadFile
ip:ssss,
size:555
