创建lib文件夹导包入资源包
配置 mybatis-config.xml
<!--根元素: 核心配置-->
<configuration>
<!-- 加载外部的properties文件 -->
<properties resource="db.properties" />
<!--配置别名,别名不区分大小写-->
<typeAliases>
<package name="com.yjxxt.pojo"/>
</typeAliases>
<!--环境配置-->
<environments default="ev">
<environment id="ev">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- mapper -->
<mappers>
<!-- <mapper class="com.yjxxt.mappers.EmpMapper"/> 配置扫描某一个接口-->
<package name="com.yjxxt.mappers"/>
</mappers>
</configuration>
<!-- 创建properties文件 -->
db.properties文件
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=SCOTT
password=TIGER
接口 EmpMapper
/*
测试接口绑定方案:
1.定义接口
定义抽象方法(业务)
2.与接口相关联的sql映射文件
3.测试使用
实现基本crud
*/
接口 EmpMapper2
测试接口绑定方案:
1.定义接口
定义抽象方法(业务)
2.与接口相关联的sql映射文件
3.测试使用
实现基本crud
EmpMapper.xml文件
<?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">
<!--
测试接口绑定方案下的sql映射文件:
1.接口与sql映射文件在同一个包中
2.接口与sql映射文件同名
3.sql映射文件的命名空间namespace,要求定义为接口的包名.接口名(权限定名)
4.sql标签的id属性值定义为与其对应的接口中抽象方法名
5.sql的返回值与参数要求与抽象方法的返回值与参数保持一致
-->
<mapper namespace="com.yjxxt.mappers.EmpMapper">
<!--查询所有的员工数据-->
<select id="queryAllEmp" resultType="emp">
select * from emp
</select>
<select id="queryEmpByNo" parameterType="int" resultType="emp">
select * from emp where empno = #{empno}
</select>
<select id="queryNameBySalDeptno" resultType="string">
select ename from emp where sal>#{sal} and deptno = #{deptno} /*[arg1, arg0, param1, param2] 匹配参数抽象方法的列表*/
</select>
<delete id="deleteEmpByEmpno" parameterType="int">
delete from emp where empno = #{empno}
</delete>
<insert id="addEmp" parameterType="emp">
insert into emp(empno,ename,deptno) values(#{empno},#{ename},#{deptno})
</insert>
</mapper>
EmpMapper.xml2文件
<?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.yjxxt.mappers.EmpMapper2">
<delete id="deleteEmpSome">
delete from emp where empno in
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</delete>
<update id="updateEmpSome">
<foreach collection="list" item="item" open="begin" close=";end;" separator=";">
update emp set ename=#{item.ename} where empno = #{item.empno}
</foreach>
</update>
<insert id="insertEmpSome">
insert into emp(empno, ename, deptno)
<foreach collection="list" item="item" separator="union">
select #{item.empno}, #{item.ename}, #{item.deptno} from dual
</foreach>
</insert>
</mapper>
模板类 对应了数据库
Dept
Emp
sqlSession回话的封装工具类
测试接口绑定方案的基本使用
测试接口绑定方案的基本使用
批量操作