一、mappers下面的xml文件
注意namespace对应接口的所在包的路径和select的id对应下面接口的方法,必须要一一对应!!
<?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.hw.oa.mapper.EmployeeMapper">
<select id="selectById" parameterType="long" resultType="com.hw.oa.entity.Employee">
select * from adm_employee
where employee_id = #{employeeId}
</select>
</mapper>
二、mapper层的mapper接口
package com.hw.oa.mapper;
import com.hw.oa.entity.Employee;
/**
* @Author: Aiver
* @Date: 2023/02/15~~15:17
* @Description:
*/
public interface EmployeeMapper {
public Employee selectById(Long employeeId);
}
三、在mybatis的配置文件里面注册对应的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<!-- <dataSource type="POOLED">-->
<dataSource type="com.hw.oa.datasource.DruidDataSourceFactory">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<!-- <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
<property name="url" value="jdbc:mysql://localhost:3306/imooc_oa?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="initialSize" value="10"/>
<property name="maxActive" value="20"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/test.xml"></mapper>
<mapper resource="mappers/user.xml"/>
<mapper resource="mappers/rbac.xml"/>
<mapper resource="mappers/employee.xml"/>
<!-- <mapper resource="mappers/leave_form.xml"/>-->
<!-- <mapper resource="mappers/process_flow.xml"/>-->
<!-- <mapper resource="mappers/notice.xml"/>-->
<!-- <mapper resource="mappers/department.xml"/>-->
</mappers>
</configuration>
四、测试用例使用
package com.hw.oa.mapper;
import com.hw.oa.entity.Employee;
import com.hw.oa.utils.MybatisUtil;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @Author: Aiver
* @Date: 2023/02/15~~15:18
* @Description:
*/
public class EmployeeMapperTest {
@Test
public void selectById() {
Employee result =(Employee) MybatisUtil.execute(sqlSession -> {
EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
Employee employee = employeeMapper.selectById(Long.valueOf(2));
System.out.println(employee);
return employee;
});
}
}