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

MyBatis笔记03------XXXMapper.xml文件解析的更多相关文章

  1. Android学习笔记之AndroidManifest.xml文件解析(转)

    //自已备注: <?xml version="1.0" encoding="utf-8"?>//说明了版本号,字符集 <manifest xm ...

  2. Android学习笔记之AndroidManifest.xml文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  3. Android学习笔记之AndroidManifest.xml文件解析(详解)

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  4. android基础知识13:AndroidManifest.xml文件解析

    注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

  5. Android之AndroidManifest.xml文件解析

    转自:Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文 ...

  6. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  7. 通过正则表达式实现简单xml文件解析

    这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...

  8. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  9. 9.XML文件解析

    一.XML简介 XML(EXtensible Markup Language),可扩展标记语言 特点:XML与操作系统.编程语言的开发平台无关 实现不同系统之间的数据交换 作用:数据交互 配置应用程序 ...

随机推荐

  1. java过滤器的写法

    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 原文地址:http://t.csdn.cn/ZD88A ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 过滤器实际上就是 ...

  2. LeetCode 593. 有效的正方形(向量做法)

    题目 题目链接:593. 有效的正方形 题意:给出二维平面上四个点的坐标,判断这四个点是否能构成一个正方形,四个点的输入顺序不做任何保证. 思路 通过向量运算可以很轻松地解决这道题.任取一点向其他三点 ...

  3. [NOI P模拟赛] 传统艺能(子序列自动机、矩阵乘法,线段树)

    (2:00)OID:"完了,蓝屏了!"(代码全消失) 众人欢呼 OID:开机,"原题测试--" (30min later)OID 开始传统艺能: " ...

  4. 【JDBC】学习路径1-JDBC背景知识

    学习完本系列JDBC课程后,你就可以愉快使用Java操作我们的MySQL数据库了. 各种数据分析都不在话下了. 第一章:废话 JDBC编程,就是写Java的时候,调用了数据库. Java Databa ...

  5. Docker问题:"docker build" requires exactly 1 argument.

    今天在搭建Docker私有仓库的时候.提示错误:"docker build" requires exactly 1 argument. 原因是因为(少了一个 '.' , '.' 代 ...

  6. Tomcat入门学习笔记

    Tomcat服务器 Tomcat使用 Tomcat下载 官网地址:Apache Tomcat - Apache Tomcat 8 Software Downloads 下载Windows 64位版To ...

  7. ABC266.

    D 设 \(f_{t,p}\) 代表在 \(t\) 时间点时人在 \(p\) 点的最大收益,在这一步他可以 \(p\) 增加,不动,\(p\) 减少.于是得出状态转移方程:\(f_{t,p} = \m ...

  8. KingbaseES 局部索引

    一个列要不要建立btree索引,判断条件是其键值分布是否够离散,比如主键.唯一键,可以建立索引.如果这个列有大量重复的值,则建立索引没有意义. 在生产环境中常会碰到键值分布不均匀的列,如表t1有一个名 ...

  9. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  10. KingbaseES OOM 可能原因汇总

    背景 不久前,遇到过一个问题.KingbaseES数据库主机系统触发OOM现象是数据库进程被KILL, 数据库进入crash然后restart(when restart_after_crash=on) ...