MyBatis笔记03------XXXMapper.xml文件解析

时间:2022-11-04 22:06:06

SQL映射文件的配置解析

  当我们写好mapper(dao)层接口时,然后在对应的XXXMapper.xml文件中写业务逻辑对应的SQL映射语句,通过这个文件中可以实现CRU操作,那么下面说明如何编写这个.xml文件。

一、.xml文件的内容

1、头文件内容(固定)

<?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">

2、简单的CRUD操作

<mapper namespace="com.dao.StuMapper">
    <select id="queryAll" resultType="stu">
     <!--查询-->
        select * from stu;
    </select>
    <select id="queryByKey" parameterType="int" resultType="com.pojo.Stu">
     <!--in根据主键查询-->
        select * from stu where sno=#{sno};
    </select>
    <insert id="insert" parameterType="com.pojo.Stu">
        <!--增加-->
        insert into stu value(#{sno},#{sname},#{sage},#{saddress},#{spwd});
    </insert>
    <update id="upd" parameterType="com.pojo.Stu">
        <!--更新-->
        update stu set sname=#{sname},sage=#{sage},saddress=#{saddress},spwd=#{spwd}
        where sno=#{sno};
    </update>
    <delete id="del" parameterType="int">
        <!--删除-->
        delete  from stu where sno=#{sno};
    </delete>
</mapper>

显而易见:1、配置SQL映射语句,首先使用<mapper>标签,其中namespace属性代表命名,它的属性值是.xml文件对应的XXXMapper(dao)

                      接口的完整包名接口名

               2、<select>标签:实现查询功能                            <update>标签:  实现更新功能

                    <insert>标签:   实现插入功能                             <delete>标签;   实现删除功能

二、select、insert、update、delete标签的配置

1、这四个标签是完成CRUD操作的

2、这四个标签主要都有id属性,paramType属性,resultType属性(这三个属性常用)

id属性:属性值是对应的XXXMapper接口中的方法名,属性值一定要与方法名一模一样!!!是必须写的

paramType属性:属性值是对应的XXXMapper接口中方法对应的参数类型,当接口中的方法的参数是Map集合,那么它的属性值是map(小写的)

resultType属性: 属性值是对应的XXXMapper接口中方法的返回类型

注意:在MyBatis中开启了事务,但是自动提交事务默认为false,所以我们需要手动提交事务,这样对应的操作才会对数据库生效!!!所以像增加、更新、删除操作都需要手动提交事务

手动提交事务:sqlSession.commit();//sqlSession是一个引用,是连接数据库的对象

开启提交事务默认为true:sqlSessionFactory.openSession(true);//sqlSessionFactory是一个引用,是SqlSessionFactory的对象,