您的位置:首页 > 其它

MyBatis 的CRUD 功能

2016-03-09 22:26 218 查看
MyBatis 的CRUD 功能

### 增加对象

1. 在Mapper接口中增加添加方法

2. 在子配置文件中增加 方法与sql映射关系

- 增加参数与SQL参数的映射关系

> 注意:Mapper接口方法名是ID不能重复,不能重载方法,所有的Mapper接口中的方法名都不能重复!

参考代码:

interface DeptMapper{
//增加方法
void addDept(Dept dept);
}
//DeptMapper.xml 文件
//增加接口方法与sql的对应关系
// 增加参数与SQL参数的对应关系
<insert id="addDept"
parameterType="cn.tedu.entity.Dept">
insert into dept (...) values(#{deptNo},#{dname},#{loc})
</insert>


### 删除对象

1. 添加删除方法

2. 增加删除的对应规则

代码:

interface DeptMapper{
void deleteDept(Dept dept);
}
//修改配置文件 DeptMapper.xml
<delete id="deleteDept"
parameterType="cn.tedu.entity.Dept">
delete from dept where deptNo=#{deptNo}
</delete>


### 查找对象的方法

1. 修改Mapper接口,添加查找方法

2. 修改Mapper.xml,添加查找方法和SQL映射关系

代码:

interface DeptMapper{
//...
Dept findDeptById(Integer deptNo);
}
//在DeptMapper.xml 中添加映射关系
<select id="findDeptById"
resultType="cn.tedu.entity.Dept"
parameterType="java.lang.Integer">
select deptNo, dname, loc from Dept
where deptNo=#{deptNo}
</select>


> resultType 是结果集行映射的类型

> 注意:MyBatis的Mapper接口方法参数只能有一个

### 更新对象的方法

代码:

interface DeptMapper{
//...
void updateDept(Dept dept);
}
//DeptMapper.xml添加映射关系
<update id="updateDept"
parameterType="cn.tedu.entity.Dept">
update dept set dname=#{dname},
loc=#{loc} where deptNo=#{deptNo}
</update>


### 查询部分列作为结果

代码:

interface DeptMapper{
//...
List<Map<String, Object>> findDeptAll();
}
//DeptMapper
<select id="findDeptAll"
resultType="java.util.Map">
select dname as "dname",
loc as "loc" from dept
</select>


### SqlSession直接执行SQL

> SqlSession 直接提供了CRUD方法,可以直接根据sql的ID执行sql语句。其中SQL ID是在Mapper.xml 中定义的SQL ID。

> 执行结果与Mapper接口执行结果一样。

> 这种方式为程序员执行SQL提供了多种选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: