搭建好mybatis环境,创建数据表user
创建Employee实体类
创建POJO实体
package org.example.mapper;
import org.example.pojo.Employee;
public interface EmployeeMapper {
/**
* 根据id查询员工信息
*/
public EmployeeMapper findEmpById(int id);
/**
* 新增员工信息
*/
public int insertEmp(EmployeeMapper employee);
/**
* 根据id修改员工信息
*/
public int updateEmpById(EmployeeMapper employee);
/**
*
* 根据id删除员工信息
*/
public int deleteEmpById(int 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为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
<mapper namespace="com.biem.mapper.EmployeeMapper">
<!--id ="接口中的方法名"
parameterType="传入的参数类型"
resultType = "返回实体类对象,使用包.类名"-->
<!--public Employee findEmpById(int id);-->
<select id="findEmpById" parameterType="int" resultType="Employee">
select * from employee where id = #{id}
</select>
<!--public int insertEmp(Employee employee);-->
<insert id="insertEmp" parameterType="Employee">
insert into employee values(null, #{name}, #{age}, #{position});
</insert>
<!--public int updateEmpById(Employee employee);-->
<update id="updateEmpById" parameterType="employee">
update employee set name=#{name}, age=#{age}, position = #{position} where id = #{id}
</update>
<!--public int deleteEmpById(int id);-->
<delete id="deleteEmpById" parameterType="int">
delete from employee where id=#{id}
</delete>
</mapper>
创建测试类
package com.example.test;
import org.example.mapper.EmployeeMapper;
import org.example.pojo.Employee;
import org.example.util.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class TestEmp {
@Test
public void testFindEmpById(){
SqlSession session = MybatisUtil.getSqlSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee emp = (Employee) mapper.findEmpById(2);
System.out.println("emp = " + emp);
}
@Test
public void testInsertEmp(){
SqlSession session = MybatisUtil.getSqlSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee emp = new Employee();
emp.setName("小米");
emp.setAge(24);
emp.setPosition("员工");
int result = mapper.insertEmp((EmployeeMapper) emp);
}
@Test
public void testUpdateEmp(){
SqlSession session = MybatisUtil.getSqlSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee emp = new Employee();
emp.setId(4);
emp.setName("小明");
emp.setAge(36);
emp.setPosition("经理");
int result = mapper.updateEmpById((EmployeeMapper) emp);
}
@Test
public void testDeleteEmpById(){
SqlSession session = MybatisUtil.getSqlSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
int result = mapper.deleteEmpById(5);
}
}
运行结果