MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,几乎消除了所有的 JDBC 代码和参数的手工设置以及结果集的处理,通过XML(sqlMapConfig)或注解配置数据源和原始映射,MyBatis通过SqlSession连接和操作数据源

SqlSession的获得

  1、获取数据源

    String resource = "sqlMapConfig.xml" //sqlMapConfig.xml是Mybatis的核心文件,可以配置数据源 和 映射的Mapper.xml文件的地址

    InputStream inputStream = Resources.getResourceAsStream(ressource); //通过数据源获取输入流

  2、获取SqlSession

    SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuild().Bulid(inputStream);

    SqlSession sqlSession = sqlSessionFactory.openSession();

操作数据

  sqlSession.select("namespace.id",[参数])

  sqlSession.selectList("namespace.id",[]);

  sqlSession.insert("namespace.id", [参数]); sqlSession.commit();//默认是不自动提交,必须手工提交;不提交,不会得到更新

  sqlSession.update("namespace.id", [参数]); sqlSession.commit();//同上

  sqlSession.delete("namespace.id", [参数]); sqlSession.commit();//同上

映射文件 Mapper.xml 的总结:

① 设置 namespace 命名空间,目的是为了区分映射文件中的方法;

② 结果集 resultMap 是 MyBatis 最大的特色,对象的 ORM 就由其来转换:

  • 在结果集中,包括主键 id 和 普通属性 result;
  • 在结果集中,常用的两个属性分别为:property,表示实体的属性;column,表示 SQL 查询的结果集的列。

③ 在映射文件中,常用的标签有四个,分别为: select、insert、update 和 delete:

  • 每个标签中都有 id 属性,在同一个 mapper 文件中 id 不允许重复;
  • 参数 parameterMap 已经被废弃,现在其存在的目的就是为了兼容前期的项目;现在用Map或者包装值对象来设置复杂参数;
  • 参数 parameterType 支持很多的类型,例如 int、Integer、String、Double、List、Map 或者实体对象等;
  • 返回值 resultType 用于简单的类型;
  • 返回值 resultMap 用于复杂的类型;
  • 当参数和返回值是集合的时候,其声明的是集合中的元素类型;
  • SQL 语句不区分大小写,它默认使用 PrepareStatement,预编译,可以防止 SQL 注入。

赋别名

在 Mapper.xml 文件中可以简写调用别名,例如:

<insert id="insert" parameterType="Person"><!-- 赋别名 -->
当然,提前需要我们在 sqlMapConfig.xml 中先定义别名,在这里,特别需要注意标签的顺序,如果标签的顺序出错,程序就会报错: 
<typeAliases>
<typeAlias type="yeepay.payplus.Person" alias="Person"/>
</typeAliases>

MyBatis 学习总结(1)的更多相关文章

  1. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)

    本文转载自:http://www.cnblogs.com/jpf-java/p/6013540.html 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybati ...

  2. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...

  3. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

  4. (原创)mybatis学习二,spring和mybatis的融合

    mybatis学习一夯实基础 上文介绍了mybatis的相关知识,这一节主要来介绍mybaits和spring的融合 一,环境搭建 1,jar包下载,下载路径为jar包 2,将包导入到java工程中 ...

  5. (原创)mybatis学习一,夯实基础

    一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...

  6. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  7. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  8. 【Todo】Mybatis学习-偏理论

    之前写过好几篇Mybatis相关的文章: http://www.cnblogs.com/charlesblc/p/5906431.html  <SSM(SpringMVC+Spring+Myba ...

  9. MyBatis学习系列三——结合Spring

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...

  10. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

随机推荐

  1. Sqoop架构以及应用介绍

    本篇文章在具体介绍Sqoop之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Sqoop在业务当中的实际地位.  如上图所示:在实际的业务当中,我们首先对原始数据集通过MapReduce进行 ...

  2. 【leetcode刷题笔记】Valid Number

    Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...

  3. linux FAQ(zz)

    1.Which is the command used to find the available shells in your Operating System Linux ? Ans : $ech ...

  4. 95th percentile concentration

    很多网络流量监控软件都提供了一个95th的值,开始一直不太理解,终于在solarwinds官网找到答案. 95th百分点指的是所给数集中超过其95%的数.它是一个统计学上的概念.对于某个接口,准确统计 ...

  5. android OTG【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7707056 一.OTG的概念 OTG是On-The-Go的缩写,是近年发展起来的技术, ...

  6. mysql 主从,主主,主主复制时的主键冲突解决

    原理:slave 的i/o thread ,不断的去master抓取 bin_log, 写入到本地relay_log 然后sql thread不断的更新slave的数据 把主服务器所有的数据复制给从服 ...

  7. linux swap的添加等等

    1. 先说下 swap的卸载 fdisk -l 或者  free -m 看下 swap挂载的是磁盘,还是 文件生成的 如果是系统创建时就分配好的swap,就使用  swapoff /dev/*** 进 ...

  8. fffmpeg 提取pcm

    ffmpeg -i input.aac -codec:a pcm_f32le -ar 48000 -ac 2 -f f32le output.pcm

  9. Mac 上Sublime Text 2配置lua环境

    1,首先下载最新版lua  然后解压到你想解压到的位置     http://www.lua.org/ftp/ 2,运行终端,cd  进入该文件夹src目录下. 3,在终端输入 make macosx ...

  10. 006-完全关闭win任务栏鼠标悬停预览

    经过测试, 网上大部分的修改注册表等方法一律没有效果 最终找到一款轻量级软件完美解决问题 下载地址