Mybatis_review之配置文件中的typeAliases节点内容说明

Mybatis为什么要提供别名?

Mybatis最基础的Demo中体现要做的事情是非常简单的,如果使用原生的JDBC来实现数据库表与对象之间的映射的话,我们应该怎么做呢?首先,使用ClassForName在静态代码块中注册一个驱动类。然后,使用静态类DriverManager来获取一个数据库的连接对象,当然在这一步我们需要提供URL,username以及password等用于连接数据库以及鉴权的信息。第三,得到连接之后,建立statement或者是preparedStatment对象,第四,执行上面的语句,得到相关的结果集。最后,通过解析结果集的meta信息,建立与对象的关系,将一条条的结果集,封装成为一个一个的对象。收尾,打扫战场,将所有的连接,statement等等耗费资源的信息该关的关,该返回的返回。

在上面的过程中,Mybatis在从结果集到对象的映射过程中,提供了“别名”这个机制。以为Mybatis无法准确获知当前结果集对应的对象的信息,就无法将结果集的数据一个一个的填充到对象当中。所以,如果我们期望当前的查询语句返回的是一个对象的话,我们就需要在Mybatis的配置文件中,告诉Mybatis我们锁期望的对象的类型。

此外,因为对象的类型一般都是前缀+类型名的结构,为了方便使用mybatis的开发人员能够省心,也提供了类似于“重构”名字的概念,就是将所有的前缀写到typeAliases标签中,类似于下面的代码:


<typeAliases>

<typeAlias type="com.samsung.mybatis.Tiger" alias="tiger"/>

</typeAliases>

有两个点需要注意一下,第一个就是,我们定义的别名tiger实际上是代表了com.samsung.mybatis.Tiger这一串字符串,在当前的XML以及嵌套的XML范围内,凡是使用com.samsung.mybatis.Tiger的地方都可以使用tiger来替代,这就跟代码重构中,将重复的代码抽取出来有异曲同工的效果。

有关于MyBatis的内置别名

在Mybatis中,不仅我们可以自己来对一个对象进行命名别名,它同时也提供了很多内置别名,对非常常用的对象进行了命名,大致上可以分为基本类型、基本类型的封装类型,集合类型以及其他类型。Mybatis内置对象的命名全部是小写的,这个需要注意一下,因为毕竟我们对驼峰命名更加熟悉。

基本类型

基本类型在java中是一种比较特殊的类型,在JDK的规范中,除了基本类型之外,其他的都是引用对象,比如String,包装类型,以及我们自己定义的各种类型。这也就意味着,如果我们试图修改一个传入参数的值,我们应该有其注重该类型是基本类型还是对象类型。

在Mybatis中,对基本类型的命名,有下面的规则,基本类型的前面有一个下划线,来区分基本类型与对象类型,例如,Mybatis将int类型命名为_int,将double类型命名为_double。

封装类型

封装类型是java提供的,对基本类型的封装,其目的就是为了在基本类型的基础上增加一些默认的行为,例如类型转换,加减运算等等。在低版本的jdk中,在早期的版本中还有封箱解箱的概念,后面的版本里,我们很多同事都会将这个相互混用了,JVM会负责两个对象之间的转换。

对于封装类型,Mybatis的命名要简单的多,例如对于Double类型,简单的命名为double,对于Integer类型,简单的命名为int 或者是 Integer,这种命名也体现了Mybatis对于开发人员的妥协,因为不管你写成int或者是Integer,我都认为你是对的,从这个角度上来说,Mybatis还是蛮人性化的,而不是死死的定一个乌龟屁股,Integer就应该写成integer。

集合类型

Java提供的集合类型是相当强大的,有set,map,list等等,这些类型在进行业务逻辑运算以及集合运算的时候有非常强大的作用,里面隐藏了非常多的技术实现以及各种优化之后的算法。

对于集合类型,Mybatis对他们的别名也是非常容易记忆的,比如map对应的接口Map,hashmap对应的是HashMap,list对应的List,arraylist对应的是ArrayList。

其他类型

有一些非常有用的其他的类型,比如Date,BigDecimal,Iterator,mybatis也提供给了内置的别名。对于Date而言,它的别名是date,对于BigDecimal而言,它的别名是bigdecimal或者是decimal,对于Iterator则是非常简单的iterator只是将其变成了小写而已。

Mybatis_review之配置文件中的typeAliases节点内容说明

时间: 2024-11-14 22:00:07

Mybatis_review之配置文件中的typeAliases节点内容说明的相关文章

Mybatis_review之配置文件中的properties节点内容说明

Properties的设置格式 在Demo项目中使用的Mybatis-config.xml文件中的配置如下: <span style="font-family:KaiTi_GB2312;"><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN&quo

Mybatis_review之配置文件中的typeHandlers节点内容说明

Mybatis为什么要在configuration file中提供typeHandlers节点 因为java类型与数据库中保存的类型是有很大差异的,例如 在java中的类型为int,但是在数据库中可能为int也可能为number.因此建立数据库的类型映射是非常重要的.为了兼容多个数据库,以及考虑到未来数据库的发展,Mybatis采用了插入的方式来解决类型映射的问题. 我们可以在mybatis的文件夹org.apache.ibatis.type的下面看到很多中typeHandler.与其他的框架中

Mybatis_review之配置文件中的objectFactory节点内容说明

Mybatis中有一个默认的创建类的对象,名字叫做DefaultObjectFactory,这个类用于负责创建对象实体类.从这个类的外部看,这个类的主要作用就是根据一个类的类型得到该类的一个实体对象,比如,我们给他一个Tiger的type,他将会给我们一个Tiger的实体对象,我们给他一个java.lang.List对象,他将会给我们一个List的实体对象.这个其实从它的名字上就能看出来. 这个类在官方文档中介绍到DefaultObjectFactory这个类的对象做的事情是非常少的,仅仅是创建

Spring配置文件中突然出现异常Referenced file contains errors

Referenced file contains errors (http://cxf.apache.org/schemas/jaxws.xsd). For more information, right click on the message in the Problems View and select "Show Details..." 在Eclipse IDE中的一个J2EE工程,之前是好好的,一段时间没去搭理. 有一天需要在项目中加点东西,打开工程一看,其中一个Spring

ASP.NET配置文件中常用到的节点信息

 web.config文件是一个XML文件,是以<confirguration>为根结点展开的.上一面从宏观上讲解了一下有关配置的文件的内容,下面是一些有关于配置文件常用的操作.图片请详见下图 .config常用操作 <appSettings>节点 主要用来存储asp.net应用程序的一些配置信息,个人感觉是存储一些以后可能会变化的配置信息.例如网页中上传文件的保存路径.个人曾做过有关XML一个小型的数据库,通过<appSettings>来反射XML文件的保存路径

drupal中根据不同的内容类型节点显示不同的样式

在template.tpl中添加如下代码: function lee_preprocess_node(&$variables) { if ($variables['view_mode'] == 'full' && node_is_page($variables['node'])) { $variables['classes_array'][] = 'node-full'; } } 在template文件下建立模板文件node--article.tpl.php 最后清除下缓存即可!

补充---Mybatis的配置文件中的settings和typeAliases标签

mybatis中的全局配置文件: 在配置文件中写配置一定要注意标签的先后顺序,顺序不对则配置文件不能运行<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"&g

mybatis学习(三)----优化Mybatis配置文件中的配置

一.把连接数据库的配置单独放在一个properties文件中 前面我们是把数据库的连接信息放在了mybatis-config.xml中,如下: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/myb

MyBatis学习总结(三)——优化MyBatis配置文件中的配置(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(三)--优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org