MyBatis 映射文件

it2023-12-30  64

MyBatis映射文件

1.Mybatis映射文件简介

1)MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。 2)SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置。 cache-ref – 其他命名空间缓存配置的引用。 resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加 载对象。 parameterMap – 已废弃!老式风格的参数映射。内联参数是首选,这个元素可能 在将来被移除,这里不会记录。 sql – 可被其他语句引用的可重用语句块。 insert – 映射插入语句 update – 映射更新语句 delete – 映射删除语句 select – 映射查询语

2.Mybatis使用insert|update|delete|select完成CRUD

1.select

1)Mapper接口方法

public Employee getEmployeeById(Integer id );

2)Mapper映射文件

<select id="getEmployeeById" resultType="com.atguigu.mybatis.beans.Employee" databaseId="mysql"> select * from tbl_employee where id = ${_parameter} </select>
2.insert

1)Mapper接口方法

public Integer insertEmployee(Employee employee);

2)Mapper映射文件

<insert id="insertEmployee" parameterType="com.atguigu.mybatis.beans.Employee" databaseId="mysql"> insert into tbl_employee(last_name,email,gender) values(#{lastName},#{email},#{gender}) </insert>
3.update

1)Mapper接口方法

public Boolean updateEmployee(Employee employee);

2)Mapper映射文件

<update id="updateEmployee" > update tbl_employee set last_name = #{lastName}, email = #{email}, gender = #{gender} where id = #{id} </update>
4.delete

1)Mapper接口方法

public void deleteEmployeeById(Integer id );

2)Mapper映射文件

<delete id="deleteEmployeeById" > delete from tbl_employee where id = #{id} </delete>

3.主键生成方式、获取主键值

1.主键生成方式

1)支持主键自增,例如MySQL数据库 2)不支持主键自增,例如Oracle数据库

2.获取主键值

1)若数据库支持自动生成主键的字段(比如 MySQL 和 SQL Server),则可以设置 useGeneratedKeys=”true”,然后再把 keyProperty 设置到目标属性上。

<insert id="insertEmployee" parameterType="com.atguigu.mybatis.beans.Employee" databaseId="mysql" useGeneratedKeys="true" keyProperty="id"> insert into tbl_employee(last_name,email,gender) values(#{lastName},#{email},#{gender}) </insert>
最新回复(0)