接口
public Employee selectEmpById(Integer id);
public void addEmployee(Employee employee);
public boolean updateEmployee(Employee employee);
public long deleteEmployee(Integer id);
Mapper配置文件
<?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.fish.dao.EmployeeMapper">
<select id="selectEmpById"
resultType="com.fish.mybatis.Employee"
databaseId="mysql">
select * from tbl_employee where id = #{id}
</select>
<insert id="addEmployee">
insert into tbl_employee(last_name,gender,email) values(#{lastName},#{gender},#{email})
</insert>
<update id="updateEmployee">
update tbl_employee set last_name = #{lastName} , gender=#{gender} , email = #{email} where id = #{id}
</update>
<delete id="deleteEmployee">
delete from tbl_employee where id = #{id}
</delete>
</mapper>
测试方法
@org.junit.Test
public void test02() throws IOException {
//读取配置文件
String resource = "config/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//获取SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession openSession = sqlSessionFactory.openSession();
//调用getMapper方法获取该接口的实现类
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
//查询
Employee selectEmpById = mapper.selectEmpById(1);
System.out.println(selectEmpById);
//添加
mapper.addEmployee(new Employee(null, "lisi", "lisi@163.com", "1"));
//修改
mapper.updateEmployee(new Employee(1, "张三1", "ZFH_FISH@163.COM", "1"));
//删除
mapper.deleteEmployee(6);
openSession.commit();
//关闭Session
openSession.close();
}
获取自增主键
useGeneratedKeys:告知mybatis使用了自增主键
keyProperty:将获取的主键封装到哪个属性中
配置完成后,在插入完成后直接通过Javabean的getter方法获取主键即可
<insert id="addEmployee" useGeneratedKeys="true" keyProperty="id">
insert into tbl_employee(last_name,gender,email) values(#{lastName},#{gender},#{email})
</insert>