首先是数据库的映射文件:
<mapper namespace="com.test.dao.EmployeeMapper">
<!--查询操作-->
<select id="getEmpById" resultType="com.test.beans.Employee">
SELECT id,last_name lastName,email,gender from tb1_emplyee where id = #{id}
</select>
<!--插入操作-->
<insert id="addEmp" parameterType="com.test.beans.Employee"
useGeneratedKeys="true" keyProperty="id">
INSERT INTO tb1_emplyee(last_name,email,gender)VALUES (#{lastName},#{email},#{gender})
</insert>
<!--更新数据库-->
<update id="updateEmp">
UPDATE tb1_emplyee SET last_name=#{lastName},email=#{email},gender=#{gender} WHERE id=#{id}
</update>
<!--删除数据-->
<delete id="deleteEmpById">
DELETE FROM tb1_emplyee WHERE id=#{id}
</delete>
</mapper>
注册到全局配置文件中:
<mappers>
<mapper resource="EmployeeMapper.xml" />
</mappers>
测试代码:
@Test
public void test03() throws IOException{
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
//1、获取到的SqlSession不会自动提交数据
SqlSession openSession = sqlSessionFactory.openSession();
try{
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
//测试添加
/*Employee employee = new Employee(null,"superman","24238788@qq.com", "1");
mapper.addEmp(employee);
System.out.println(employee.getId());*/
//测试修改
/*Employee employee = new Employee(1, "Tom", "jerry@123.com", "0");
boolean updateEmp = mapper.updateEmp(employee);
System.out.println(updateEmp);*/
//测试删除
mapper.deleteEmpById(2);
//2、手动提交数据
openSession.commit();
}
finally{
openSession.close();
}
这里数据库中设置了主键自增长,如果需要获取主键的值,需要在配置文件中做如下的配置:
useGeneratedKeys="true" keyProperty="id"
不然是获取不了id的。