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的对象,

 

原文地址:http://www.cnblogs.com/hytstruggle/p/16848431.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性