• 2010年,随着开发团队转投Google Code旗下,ibatis 3.x 正式更名为 Mybatis。

orm工具的基本思想

  • 无论是 hibernate、Mybatis,orm工具有一个共同点:
  1. 从配置文件(通常是 XML 配置文件中)得到 sessionfactory.
  2. 由 sessionfactory 产生 session
  3. 在 session 中完成对数据的增删改查和事务提交等.
  4. 在用完之后关闭 session 。
  5. 在 Java 对象和 数据库之间有做 mapping 的配置文件,也通常是 xml 文件。

配置文件解释下:

  1. Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如<typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名非常重要,你在 具体的类的映射中,比如 User.xml 中 resultType 就是对应这里的。要保持一致,当然这里的 resultType 还有另外单独的定义方式,后面再说。
  2. Configuration.xml 里面 的<mapper resource="com/yihaomen/mybatis/model/User.xml"/>是包含要映射的类的 xml 配置文件。
  3. 在 User.xml 文件里面 主要是定义各种 SQL 语句,以及这些语句的参数,以及要返回的类型等。
  • 对应class的xml中,property对应类的属性,column对应查询sql的项。

  • 问:mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?

    答:id和result都是映射单列值到一个属性或字段的简单数据类型。

    唯一不同是:id是作为唯一标识的,当和其他对象实例对比的时候,这个id很有用,尤其是嵌入缓存和结果映射时。

  • 问:resultMap和resultType的区别?

    答:MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap;

    resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用;

    但是resultType跟resultMap不能同时存在。

    在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。

    所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,Mybatis就会根据我们配置的信息做映射。

mybatis的日志实现

  • 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按下面列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。

    SLF4J

    Apache Commons Logging

    Log4j 2

    Log4j

    JDK logging

    当一个系统有多个日志的时候,如果想用低等级的框架,就需要在mybatis配置文件中写上这句话声明一下:
<setting name="logImpl" value="LOG4J"/>

logImpl可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING 或者是实现了接口org.apache.ibatis.logging.Log的类的完全限定类名, 并且这个类的构造函数需要是以一个字符串(String类型)为参数的。

MyBatis 知识点的更多相关文章

  1. Mybatis知识点总结

    ---恢复内容开始--- Mybatis知识点总结 1.#{}和${}的区别是什么? 答:#{}的使用场景:在表的sql映射文件中如下使用: <mapper namespace="co ...

  2. MyBatis知识点总结(一)

    前言:本篇主要记录在MyBatis学习过程中的主要知识点. 1.mybatis环境的搭建,通过maven可以快速的进行环境的搭建. <!--文件版本--> <properties&g ...

  3. MyBatis 知识点梳理

    简单地梳理下MyBatis相关的知识点,主要想让自己重新捡起以前学的框架,如果能给广大程序猿朋友有所帮助那就更好了.有疏漏的地方也欢迎大家评论指出.闲言少叙,进入正题....... MyBatis知识 ...

  4. mybatis知识点

    1.Mybatis比IBatis比较大的几个改进是什么 a.有接口绑定,包括注解绑定sql和xml绑定Sql , b.动态sql由原来的节点配置变成OGNL表达式, c. 在一对一,一对多的时候引进了 ...

  5. MyBatis知识点整理

    1.MyBatis一般使用步骤 1.1获取Configuration实例或编写配置文件 //获取Configuration实例的样例 TransactionFactory transactionFac ...

  6. mybatis知识点(已掌握)

    1.${} 和 #{} 的区别? ${} 直接显示传入数据,不能防止sql注入,一般用于传数据库对象(比如表名). #{} 传入数据被当成字符串,自动加上双引号,防止sql注入. 2.有哪些Execu ...

  7. 知名互联网公司校招 Java 开发岗面试知识点解析

    天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...

  8. 后端——框架——持久层框架——Mybatis——《Mybatis从入门到精通》读书笔记——初篇

    1.Mybatis知识点 框架的知识点大致可以分为三个部分 基础: 介绍编写增,删,改,查: 动态标签: config配置文件 Mapper配置文件 插件:常见的插件有三个 pageHelper:分页 ...

  9. ORM——Mybatis

    引言 ORM 是 blablabla…… Mybatis知识点

随机推荐

  1. Leetcode 113

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  2. 简话Angular 06 Angular自定义指令

    一句话: 直接return link函数可以解决大多数问题,无须死扣用法 1. 上源码 (dom操作,事件,css,mode操作全包括了) <h3>Custom directive, wi ...

  3. swiper中的默认值的属性和作用(小程序交流群:604788754)

    swiper中的重要属性: vertical:属性,控制swiper效果是水平切换滚动,还是垂直切换滚动.如果不设置此属性,默认是水平滚动,如果设置:vertical="true" ...

  4. SSO-CAS单点登录

    基本概念 单点登录SSO ,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS(Centeral Authenti ...

  5. sgu 183. Painting the balls 动态规划 难度:3

    183. Painting the balls time limit per test: 0.25 sec.memory limit per test: 4096 KB input: standard ...

  6. 51nod1079

    模板题... 代码: #include <iostream> using namespace std; ],p[]; int main() { int n; while(cin>&g ...

  7. Allow Zero Length 允许空字符串 ACCESS

    http://www.360doc.com/content/11/0118/20/991597_87447868.shtml https://microsoft.public.data.ado.nar ...

  8. Java——文件过滤器

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  9. 【重大更新】DevExpress v17.2新版亮点—WinForms篇(二)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.开篇介绍了DevExpress WinForms v17.2 Data Grid Control ...

  10. 福大软工 · BETA 版冲刺前准备

    拖鞋旅游队BETA 版冲刺前准备 前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10083834.html 本次作业:https://edu.c ...