mybatis

度量侠
• 阅读 1552

MyBatis 是一个sql映射框架,在2002 年创建, 是java持久层框架


【面试】hibernate和mybatis区别

  • Hibernate,java面向对象盛行时期,将整个开发设计过程全部面向对象开发,全ORM。
    iBatis,维持原有的编程方式,前面部分按面向对象思考和设计,持久层时使用sql语句,面向过程。

    • 1)底层仍然使用sql,将hql语句转为sql。Sql无法优化

    • 2)Hibernate通过反射,性能很低

    • 3)Ibatis就是基于jdbc轻量级封装,还是使用sql。性能比较高。半ORM

  • 我们把除index.jsp外其他的jsp文件放在WEB-INF下,把css,javascript,图片放在了webRoot(WebContent)目录下


xml映射配置文件

  • 每个数据库对应一个 SqlSessionFactory

  • 为了明确创建哪种环境,你可以将它作为可选的参数传递给 SqlSessionFactoryBuilder。
    可以接受环境配置的两个方法签名是:
    SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, environment);

      SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader,
      environment,properties);
      
    
  • 环境元素定义了如何配置环境。

    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC">
    <property name="..." value="..."/>
    </transactionManager>
    <dataSource type="POOLED">
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
    </dataSource>
    </environment>
    </environments>

  • 注意这里的关键部分:

    •  默认的环境 ID(比如: default=”development”)。

    •  每个 environment 元素定义的环境 ID(比如: id=”development”)。

    •  事务管理器的配置(比如: type=”JDBC”)。

    •  数据源的配置(比如: type=”POOLED”)。


告诉 MyBatis 到哪里去找映射文件。你可以使用相对于类路径的资源引用,或者字符表示,或 url 引用的完全限定名(包括 file:///URLs)。例如:

// 使用相对于类路径的资源
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
// 使用完全限定路径
<mappers>
<mapper url="file:///var/sqlmaps/AuthorMapper.xml"/>
<mapper url="file:///var/sqlmaps/BlogMapper.xml"/>
<mapper url="file:///var/sqlmaps/PostMapper.xml"/>
</mappers>

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
SSH框架和SSM框架
(一)SSH框架是Struts2Spring Hibernate  而SSM框架指的是SpringMVCSpringMybatis区别:1\.主要区别就是Struts2和SpringMVC的区别。【各种框架的对比】类中已经写了2\.Hibernate和Mybatis的区别Mybatis优势
这可能是目前最全的!java开发手册嵩山版
在这里分享一份mybatis从入门到精通的强力教程,定能够助你一臂之力。Mybatis基本介绍1.ORM和MyBatis1.对象/关系数据库映射(ORM)1.基本映射方式1.流行的ORM框架简介目前流行的编程语言,例如Java、C等,都是面向对象的编程语言;而目前主流的数据库产品,例如Oracle、DB2等,依然是关系数据库。编程语言和底
Stella981 Stella981
3年前
Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)
   slardar是一个sqlmapping框架,其大概使用方式类似mybatis,没有采用hibernate那种orm的方式是因为个人觉得这种方式需要大量的处理sql,每次操作对象都要进行依次sql解析比较繁琐;转而想到mybatis这种把sql逻辑交给用户的方式还是比较合理的。同时又不像全盘照抄mybatis,还是想有一些独特的地方,于是将my
Stella981 Stella981
3年前
Spring Boot(六)集成 MyBatis 操作 MySQL 8
一、简介1.1MyBatis介绍MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。1.2MyBatis发展史MyBatis原本是apache的一个开源项目iBatis,2010年这个项目由apache
Stella981 Stella981
3年前
Mybaits一对多映射结果集丢失数据问题
       目前JavaWeb开发使用最多的项目架构还是MVC,数据库持久层使用一般会选择用mybatis或者hibernate框架。对于mybatis和hibernate之间的区别大家自行百度,今天主要是记录下最近使用mybatis开发遇到的一个问题。_问题描述_:A表和B表是一对多的关系,因此在查询的时候使用了mybatis的一对多结
Stella981 Stella981
3年前
Spring Boot(四):如何优雅的使用 Mybatis
一、前言Orm框架的本质是简化编程中操作数据库的编码,发展到现在,基本上就剩宣称不用谢一句sql的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统来发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢hibernate,互联网行业通常使用mybatis。hibernate特点就是所有的sq
Stella981 Stella981
3年前
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架1、mybatis简介MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO
Easter79 Easter79
3年前
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架1、mybatis简介MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO
Stella981 Stella981
3年前
JPA、Hibernate、Mybatis的区别
1.概念:Hibernate :Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。着力点对象与对象之间关系2.简介:Mybatis:MyBatis本是apache(https://www.oschina.net/action/GoToL
Stella981 Stella981
3年前
JPA、Hibernate框架、通用mapper
JPA是描述对象关系表的映射关系,将运行期实体对象持久化到数据库中,提出以面向对象方式操作数据库的思想。Hibernate框架核心思想是ORM实现自动的关系映射。缺点:由于关联操作提出Hql语法。执行CRUD时产生大量冗余的sql,性能较低mybatis继承Hibernate优点,使用通用mapper插件实现JPA的思想操作数据库通用map
Stella981 Stella981
3年前
Maven中使用mybatis
1、Mybatis优缺点优点:Mybatis实现了对Dao层的封装,隔离了SQL语句,便于管理,避免了像JDBC那样操作数据集,便于扩展等等。缺点:Mybatis属于?半自动“ORM”,比Hibernate的工作做得要多很多,对象参数传递比较麻烦,没有Hibernate对象操作的概念。2、Mybatis的实现方式Mybat