mybatis基础二 || 配置扫描接口 || 批量操作

创建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回话的封装工具类

测试接口绑定方案的基本使用

 

测试接口绑定方案的基本使用
批量操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值