转自:http://blog.csdn.net/lelewenzibin/article/details/42713585

问题描述

Mybatis有个代码生成工具,生成的代码里面有mapper.xml文件,mapper.xml中的sql语句会用parameterType这个属性,而这个值可能是我们自定义的对象,此时,如果没有typealiases,我们就需要为parameterType指定全路径:

  1. <span style="font-size:14px;"><select id="getStudent" parameterType="com.csct.domain.StudentEntity" resultType="com.csct.domain.StudentEntity" resultMap="studentResultMap"></span>

代码自动生成工具生成的mapper.xml文件中不带全路径,那么,如果有三、四十个实体对象,我们岂不是要修改的地方太多了。

解决办法

这个时候,我们是不是很期望有一个方式,能把com.csct.domain下的实体全部给加载进来,mapper.xml遇到不识别的类就在这里查找呢?你都想到了,Mybatis当然也能想到吧,typealiases就是为此而生的。使用特简单,如下:

  1. <span style="font-size:14px;"><configuration>
  2. <typeAliases>
  3. <!--
  4. 通过package, 可以直接指定package的名字, mybatis会自动扫描你指定包下面的javabean,
  5. 并且默认设置一个别名,默认的名字为: javabean 的首字母小写的非限定类名来作为它的别名。
  6. 也可在javabean 加上注解@Alias 来自定义别名, 例如: @Alias(user)
  7. <package name="com.dy.entity"/>
  8. -->
  9. <typeAlias alias="UserEntity" type="com.dy.entity.User"/>
  10. </typeAliases>
  11. ......
  12. </configuration></span>

这样,mapper.xml的sql语句就如下了:

  1. <span style="font-size:14px;"><select id="getStudent" parameterType="StudentEntity" resultType="StudentEntity" resultMap="studentResultMap"></span>

MyBatis中typealiases的使用的更多相关文章

  1. MyBatis中关于别名typeAliases的设置

    第一种:通过在配置文件中typeAlias节点设置type的方式 <?xml version="1.0" encoding="UTF-8" ?> & ...

  2. Mybatis 全局配置文件中typeAliases(别名)

    在具体的mapper.xml文件中,定义很多的statement,statement需要parameterType指定输入参数的类型.需要resultType指定输出结果的映射类型. 如果在指定类型时 ...

  3. MyBatis 中 sqlmapconfig核心标签typeAliases配置说明

    标签说明 在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType.resultType 来设置 sql 语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声 ...

  4. mybatis中自建的类型别名

    在使用mybatis过程中经常用到类型别名,除了我们自己新建的别名外,mybatis还自带了很多类型别名和java中的类型的映射,下面先看一个自建的别名的配置 <typeAliases> ...

  5. Mybatis中的collection、association来处理结果映射

    前不久的项目时间紧张,为了尽快完成原型开发,写了一段效率相当低的代码. 最近几天闲下来,主动把之前的代码优化了一下:)   标签:Java.Mybatis.MySQL 概况:本地系统从另外一个系统得到 ...

  6. Mybatis中配置Mapper的方法

    在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置.关于基础部分的内容可以参考http://haohaoxuexi.iteye.com/blog/1333271. 我们知道在M ...

  7. MyBatis中log4j 和 参数 和 分页和别名 功能

    1.配置全局文件,注意各个配置标签的顺序 properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,   objectWr ...

  8. Mybatis笔记四:Mybatis中的resultType和resultMap查询操作实例详解

    resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题.比 ...

  9. mybatis中parameterType可以写的别名

    mybatis中parameterType可以写的别名 https://blog.csdn.net/sdzhangshulong/article/details/51749807 _byte byte ...

随机推荐

  1. Jqueruy验证 form表单提交之前的中的数据

    //---表单提交---- $("#destiation_form").submit(function(){ var from_city_value=$("#from_c ...

  2. ZooKeeper源码分析:Quorum请求的整个流程(转)

    Quorum请求是转发给Leader处理,并且需要得一个Follower Quorum确认的请求.这些请求包括: 1)znode的写操作(OpCode.create,OpCode.delete,OpC ...

  3. 模式识别之线性判别---naive bayes朴素贝叶斯代码实现

    http://blog.csdn.net/xceman1997/article/details/7955349 http://www.cnblogs.com/yuyang-DataAnalysis/a ...

  4. 同一页面中引入多个JS库产生的冲突解决方案(转)

    发生JS库冲突的主要原因:与jQuery库一样,许多JS库都使用‘$’符号作为其代号.因此在一个页面中引入多个JS库,并且使用‘$’作为代号时,程序不能识别其代表哪个库(这个是我自己的解释,但更深的原 ...

  5. php -- 取日期

    1.获取当前时间方法date()很简单,这就是获取时间的方法, 格式为:date($format, $timestamp), format为格式 - 必需 timestamp为时间戳–可填参数. 比如 ...

  6. Linux基础知识之man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法.下面来介绍下man 环境CentOS6.8 man - format and display the ...

  7. python3.4连接mysql

    参考:http://www.blogjava.net/huyi2006/articles/247966.html 开发环境:win7_x64 + python3.4.3 + mysql5.6.23 准 ...

  8. 深入浅出Redis-redis哨兵集群[转]

    1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...

  9. [Java并发包学习七]解密ThreadLocal

    概述 相信读者在网上也看了非常多关于ThreadLocal的资料,非常多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路:ThreadLocal的目的是为了解决多线程訪 ...

  10. Windows网络编程Internet Gopher了解下

    Gopher:中文译“地鼠”,是迪士尼卡通人物之一(谷佛). 英文原义:The Internet Gopher Protocol 中文释义:(RFC-1436)网际Gopher协议 该系统是在明尼苏达 ...