一,MyBatis基础概述

原创 2016年08月29日 15:04:47

1,MyBatis概述

MyBatis是一个简化和实现Java数据持久化的开源框架,它抽象了大量的JDBC冗余代码,并且提供了一个简单易用的APO和数据库交互。

1.1,MyBatis优点

  • 减少大量JDBC冗余代码
  • 学习曲线低
  • 与传统数据库协同工作
  • 接受SQL语句
  • 与Spring和Guice框架集成支持
  • 提供第三方缓存类库的集成支持
  • 拥有更好的性能

2,MyBatis引导

以下为mybatis-config.xml文件详细内容

<configuration>

      <properties resource="application.properties"/>

     <typeAliases>
        <package name="com.mybatis.entities"/>
     </typeAliases>

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

      <mappers>
        <mapper resource="mappers/StudentMapper.xml"/>
      </mappers>


</configuration>

以下为application.properties文件内容

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root

配置文件解读:

  • <properties resource=”application.properties”/>:引入外部配置文件,将数据库连接的具体信息引入到该文件中。
  • <enviroments/>:可以配置多个dataSource环境,可以将应用部署到不同的环境上。
  • <dataSource/>:用来配置数据库的连接属性。dataSource的类型可以配置成UNPOOLED,POOLED,JNDI
    • unpooled:mybatis会为每个数据库的操作创建一个新的连接,并关闭它,该方式适合用于小规模数量并发的应用程序。
    • pooled:mybatis会创建一个数据库连接池,连接池中的一个连接会被用作数据库操作。操作完成,将此连接放回连接池中。
    • jndi:mybatis从在应用服务器向配置好的jndi数据源dataSource获取数据库连接,在生产环境中优先考虑。
  • <transactionManager/>:支持两种类型的事务管理器JDBC和MANAGED。
    • JDBC 事务管理器被用作当应用程序负责管理数据库连接的生命周期(提交、回退等等)的时候。当你将TransactionManager 属性设置成 JDBC,MyBatis 内部将使用 JdbcTransactionFactory 类创建TransactionManager。
    • MANAGED 事务管理器是当由应用服务器负责管理数据库连接生命周期的时候使用。当你将TransactionManager 属性设置成 MANAGED 时, MyBatis 内部使用 ManagedTransactionFactory 类创建事务管理器 TransactionManager。

2.1,properties

    <properties resource="application.properties">
    <property name="jdbc.username" value="db_user" />
    <property name="jdbc.password" value="verysecurepwd" />
    </properties>

该元素可以配置在mybatis的配置文件中,如果外部文件拥有和内部配置数据相同的key值,则外部的key值属性会覆盖内部的配置属性。

2.2,typeAliases

在 SQLMapper 配置文件中,对于 resultType 和 parameterType 属性值,我们需要使用 JavaBean 的完全限定名。我们可以为完全限定名取一个别名(alias),然后其需要使用完全限定名的地方使用别名,而不是到处使用完全限定
名。

    <typeAliases>
        <!--Student的类被使用别名Student-->
        <typeAlias alias="Student" type="com.mybatis.entities.Student" />
        <typeAlias alias="Tutor" type="com.mybatis.entities.Tutor" />
        <!--该包下的所有实体类别名为类名开头小写的字符串-->
        <package name="com.mybatis.entities" />
    </typeAliases>

或者在定义实体类的代码中,使用注解@Alias

    @Alias("Student")
    public class Student
    { 
        ...
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Mybatis概述(一)

近期抽空阅读了mybatis 3.3.1版本源码,受益匪浅,遂记录一下学习笔记,难免有理解或者写的不恰当的地方,请多谅解。 一、概述 以下是官方文档的原文。 What is MyBatis?...
  • juded
  • juded
  • 2016-09-28 13:47
  • 199

Mybatis概述

关于Mybatis的概述

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

MyBatis概述

MyBatis概述mytatis的介绍和jdbc比较: mybatis抽离出数据库的连接,关闭的操作.抽离了sql语句,并且可以自动的进行参数的设置,封装结果集.和hibernate比较: - 性...

MyBatis概述+ 入门程序(深入浅出)

MyBatis:是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架。他去掉了几乎所有的JDBC代码和参数的手工设置以及对结果的检索封装。 好处:将SQL与程序代码分离,做到可以在不修改程...

MyBatis学习总结01——概述

一、引言     MyBatis是支持普通SQL查询,存储过程和高级映射到优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis用简单的XML或注...

MyBatis概述

MyBatis概述 mytatis的介绍 和jdbc比较:  mybatis抽离出数据库的连接,关闭的操作.抽离了sql语句,并且可以自动的进行参数的设置,封装结果集. 和hibe...

Mybatis源码研究3:包和类的概述

org.apache.ibatis      1.annotation   本包定义了Mybatis框架中的24个注解。   本包对Mybatis的其它包没有任何依赖,也不依赖于第三方的库。 ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)