mybatis中自建的类型别名

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

<typeAliases>
     <typeAlias type="com.cn.entity.User" alias="User"/>
</typeAliases>

在mybatis的配置文件中配置了此别名后我们就可以使用了,如以下情况下,

resultType="User"、parameterType="User"

这样可以减少我们的代码量,如果不配置别名,必须使用全限类名,如下,

resultType="com.cn.entity.User"、parameterType="com.cn.entity.User"

从上边的例子中我们可以看出别名的好处,可以减少代码量,还可以防止写过长的包名,导致书写错误,那么mybatis中提供了哪些内建的别名呢,如下图

上图是mybatis3.3.0官方文档上提供的别名和java类型的映射关系

int 

在配置int时通过上表可以看出,即可以是java中的基本类型int,也可以是java中的包装类型Integer,不过在配置为包装类型是必须是java.lang.Integer,所以在配置为int是我们的java接口中的参数类型最好是Integer的。

string

对应java中的java.lang.String

map

对应java.util.Map

hashmap

对应java.util.HashMap

list

对应java.util.List

arraylist

对应java.util.ArrayList

知道了mybatis中内建的别名,在使用mybatis的别名时,相应的java代码中的参数类型。

有不当之处欢迎指正,谢谢!

时间: 2024-10-05 05:02:07

mybatis中自建的类型别名的相关文章

MyBatis 中无效的列类型 整形

在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 通过观察,如果是参数是Map类型或者Java Object类型,如果Map或者Object里面的属性类型不一致,如有些属性是String类型,有些属性是Integer类型,那么MyBatis解析的时候,就会出现问题,类型无法识别. 当然,如果传入参数不是Map或者Java Object,而是多个参数列表的形式,如果参数类型一致,那么不会出现问题,如果参数类型不一致,如既有String类型,也有Integer类型,那么解析的

Mybatis 中常用的java类型与jdbc类型

JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean TINYINT byte SMALLINT short INTEGER int BIGINT long REAL float FLOAT double DOUBLE double BINARY b

mybatis类型别名

在mybatis中,statement的parameterType指定了输入参数的类型,resultType指定了输出结果的映射类型可以针对parameterType或resultType中指定的类型,在<typeAliases>中定义别名,然后在parameterType或resultType中使用定义的别名 1:单个别名定义 1):定义别名 <!-- type:类型全限定名 alias:别名 --> <typeAlias type="org.pine.mybat

关于INTEGER 类型在Mybatis中使用if的注意

Mybatis中是使用<if>用来编写动态语句是很方便的一个操作,不过在最近的项目开发中当使用的一个变量为inteter类型的时候,用<if>来编写发现有点问题,源码如下面: <update id="updateWeightintervalInfo" parameterType="com.exiao.platform.core.logistics.data.WeightInterval"> update tm_weightinte

mybatis中查询结果为空时不同返回类型对应返回值

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异

mybatis中的resultMap

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在. 1.resultType 在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值.当提供的返回类型属性是resultType的时候,MyBatis会将Map里

MyBatis中resultMap的相关介绍

resultMap 元素是 MyBatis 中最重要最强大的元素.它就是让你远离从结果集中取出数据的JDBC 代码的那个东西,而且在一些情形下允许你做一些JDBC不支持的事情.ResultMap 的设计就是对于一些简单的语句我们不需要明确它们的结果映射,但是到于复杂的语句确实需要描述它们的关系. 简单结果映射 对于一个普通的JavaBean: package com.someapp.model; public class User {     private int id;     privat

MyBatis 中XML映射配置文件

XML映射配置文件 MyBatis的XML配置文件包含了影响MyBatis行为很深的设置和属性信息.XML文档的高级层级结构如下: properties Settings 这些及其重要的调整,他会修改MyBatis在运行时的行为方式.下面这个表格描述了设置信息,他们的含义和默认值: typeAliases 类型别名是为java类型命名一个短的名字.他和XML的配置有关,只用来减少类完全限定名的多余部分.例如: typeHandlers 无论是MyBatis在预处理语句中设置一个参数,还是从结果集

在mybatis中resultMap与resultType的区别

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMapresultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用但是resultType跟resultMap不能同时存在.在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值.当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultT