MyBatis入门

/ 0评 / 0

    虽然在上篇博文当中将JDBC的操作进行了封装,而其在面对SQL语句可变动亦或者要改变SQL语句的结构时还是得去程序修改,只能进行一些固定的事务操作。而若把SQL语句信息存放在xml当中,在使用的时候解析xml文件就可以来实现整个过程。然而在前面我也写过,在java当中解析xml可不是什么特别轻松的事情,面对杂乱定义的元素/标签得先探清其中的情况才能够继续进一步解析,只是表面可行实则鸡肋的方法。而SQL大体模式是不变的,所以出现了人为规定xml的创建办法,来限制sql语句存放的xml文件。经过一段时间的沉淀,MyBatis和Hibernate这样的持久化框架来完成对JDBC的封装。

MyBatis简介

    mybatis是一个简化和实现了java数据持久化层的开源框架My Batis是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的 JDBC 冗余代码,并提供了一个简单易用的API和数据库交互。My Batis 的前身是 iBATIS,i BATIS 于2002年由Clinton Begin创建。My Batis 3 是 i BATIS的全新设计,支持注解和Mapper。其流行的主要原因在于它的简单性和易使用性。在Java应用程序中,数据持久化层涉及到的工作有:将从数据库查询到的数据生成所需要的Java对象;将Java对象中的数据通SQL 持久化到数据库中。MyBatis通过抽象底层的JDBC代码,自动化SQL结果集产生Java对象、Java对象的数据持久化数据库中的过程使得对SQL的使用变得容易。

    其中文文档在:http://www.mybatis.org/mybatis-3/zh/index.html

    下载位置:https://github.com/mybatis

    而MyBatis能够被开发人员所熟知有以下的几点因素:

        1、Java通过JDBC的API来操作关系型数据库,但是JDBC是一个非常底层的API,我们需要书写大量的代码来完成对数据库的操作。My Batis提供了其他的一些特性来简化持久化逻辑的实现,支持复杂的SQL结果集数据映射到嵌套对象图结构,支持一对一和一对多的结果集和Java对象的映射,支持根据输入的数据构建动态的SQL语句

        2、相较Hibernate容易学习和掌握

        3、能够与传统数据库较好的协作

        4、可以接受SQL语句,编码人员自由度高

        5、提供了Spring框架的支持

        6、提供了与第三方缓存类库的集成支持(如EHCache,OSCache,Hazelcast等)

        7、引入了更好的性能:性能问题是关乎软件应用成功与否的关键因素之一。为了达到更好的性能,需要考虑很多事情,而对很多应用而言,数据持久化层是整个系统性能的关键。MyBatis支持数据库连接池,消除了为每一个请求创建一个数据库连接的开销My Batis提供了内建的缓存机制,在SqlSession级别提供了对SQL查询结果的缓存。MyBatis框架并没有大量地使用代理机制,因此对于其他的过度地使用代理的ORM框架而言,MyBatis可以获得更好的性能。

LinkStartor

    在拥有其.jar文件之后我们继续昨天的话题:CURD。来看看这个框架:

    在上面也提到过”支持注解和Mapper“,所以一般意义来讲其坐拥基础的两个配置文件:mapper.xml和config.xml,在阅读文档之后可知其配置文件的config.xml:

    而其另外一个Mapper.xml 是要存放SQL语句和所属类的关系。既然还是学生先创建学生类:

    创建Mapper接口:

    在此之后创建对应的Mapper.xml:

     创建通用方法:

     创建测试类 :

    计划通~完成CURD 


发表评论

电子邮件地址不会被公开。 必填项已用*标注