sql映射文件对应的增删改查都有自己的标签:
<?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.test.mybatis.dao.EmployeeMapper">
<insert id="addEmp" parameterType="com.test.mybatis.bean.Employee"
useGeneratedKeys="true" keyProperty="id">
INSERT INTO tbl_employee(last_name,email,gender) VALUES (#{lastName},#{email},#{gender})
</insert>
<delete id="deleteEmpById">
DELETE FROM tbl_employee WHERE id = #{id}
</delete>
<update id="update">
UPDATE tbl_employee set last_name = #{lastName},email=#{email},gender=#{gender} WHERE id = #{id}
</update>
<select id="getEmpById" resultType="com.test.mybatis.bean.Employee">
select * from tbl_employee where id = #{id}
</select>
</mapper>
以上为实现增删改查的实例。
namespace:名称空间;指定为接口的全类名
id:唯一标识
resultType:返回值类型
#{id}:从传递过来的参数中取出id值
parameterType:可以省略,写的时候写全类名
上面的insert语句,其中自增主键值的获取,mybatis也是利用statement.getGeneratedKeys();
useGeneratedKeys="true":使用自增主键获取主键值策略
keyProperty:指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性。
注意:Oracle不支持自增,Oracle使用序列来模拟自增,每次插入的数据的主键是从序列中拿到的值。