mybatis配置文件resultType和resultMap的区别以及mybatis自带的别名

  

returnType是自定义的类或者jdk自带的类

resultMap是在mapperXMl文件中通过resultMap节点定义出来的

例如:

& lt; resultMap  id=癇aseResultMap”,类型=癱om.sinosoft.reins.POJO.model.PrpMaxNo”,在   ,,,& lt; id 列=癎ROUPNO”,属性=癎ROUPNO”, jdbcType=癡ARCHAR”,/比;   ,,,& lt; id 列=氨怼?属性=氨怼?jdbcType=癡ARCHAR”,/比;   ,,,& lt; id 列=癕AXNO”,属性=癕AXNO”, jdbcType=癡ARCHAR”,/比;   ,,,& lt; result 列=肮臁?属性=肮臁?jdbcType=癡ARCHAR”,/比;   & lt;/resultMap>

1)于是我们就可以在后面的查询节点中使用这个地图的id啦

例如:

& lt; select  id=癵enMaxMinNo”, resultMap=癇aseResultMap”比;   select 才能;GROUPNO,表名,MAXNO, FLAG 得到TEST  where  id=# {id}   & lt;/select>

2)当然我们也可以在没有定义resultMap的情况下,直接(保证结果列的关键和模型的属性一致就可以)

& lt; select  id=癵enMaxMinNo”, resultType=癱om.sinosoft.reins.POJO.model.PrpMaxNo”比;   select 才能;GROUPNO,表名,MAXNO, FLAG 得到TEST  where  id=# {id}   & lt;/select>

3)当然没定义resultMap的情况下,也可以使用mybatis的默认机制返回一个映射出来

& lt; select  id=癵enMaxMinNo”, resultType=暗赝肌北?   select 才能;GROUPNO,表名,MAXNO, FLAG 得到TEST  where  id=# {id}   & lt;/select>

在使用的时候,可以将返回值强转成HashMap,关键默认关键是大写的可以通过起别名使得关键变成小写(别名加不加引号,如用不用必须写,自己去测验吧)

& lt; select  id=癵enMaxMinNo”, resultType=暗赝肌北?   select 才能;GROUPNO  as “groupNo TABLENAME  as “表”,MAXNO  as “maxNo FLAG  as “国旗”,得到TEST  where  id=# {id}   & lt;/select>

以上就是我们常用的三种方式! ! ! !

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

<强> mabatis配置文件偷懒的几个点:

<>强如果参数只有一个且是简单类型可以不写prameterType

<>强如果返回值是简单类型resultType或者resultMap可以不写

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

我们之所以能在mapperxml中使用简写int,字符串等等是因为mybatis默认在

org.apache.ibatis.type.TypeAliasRegistry 中为我们定义了类的别名:

,,,

,,,,registerAlias(“字符串”,String.class);   ,,,registerAlias(“字节”,Byte.class);   ,,,registerAlias(“长”,Long.class);   ,,,registerAlias(“短”,Short.class);   ,,,registerAlias (“int”, Integer.class);   ,,,registerAlias(“整数”,Integer.class);   ,,,registerAlias(“双”,,Double.class);   ,,,registerAlias(“浮动”,Float.class);   ,,,registerAlias(“布尔”,Boolean.class);   ,,,registerAlias (byte []》, byte [] . class);   ,,,registerAlias (“[]”, [] . class);   ,,,registerAlias (“[]”, [] . class);   ,,,registerAlias (“int[]”,整数[]. class);   ,,,registerAlias(“整数[]”,,整数[]. class);   ,,,registerAlias(“双[]”,双[]. class);   ,,,registerAlias(“[]”浮动,浮动[]. class);   ,,,registerAlias(“布尔[]”,布尔[]. class);   ,,,registerAlias (“_byte”, byte.class);   ,,,registerAlias (“_long”, long.class);   ,,,registerAlias (“_short”, short.class);   ,,,registerAlias (“_int”, int.class);   ,,,registerAlias (“_integer”, int.class);   ,,,registerAlias (“_double”, double.class);   ,,,registerAlias (“_float”, float.class);   ,,,registerAlias (“_boolean”, boolean.class);   ,,,registerAlias (“_byte []”,, byte [] . class);   ,,,registerAlias (“_long[]”,,长[]. class);   ,,,registerAlias (“_short[]”,,短[]. class);   ,,,registerAlias (“_int []”,, int [] . class);   ,,,registerAlias (“_integer []”,, int [] . class);   ,,,registerAlias (“_double[]”,,双[]. class);   ,,,registerAlias (“_float[]”,,浮动[]. class);   ,,,registerAlias (“_boolean[]”,,布尔[]. class);   ,,,registerAlias(“日期”,Date.class);   ,,,registerAlias(“小数”,BigDecimal.class);   ,,,registerAlias (“bigdecimal, BigDecimal.class);   ,,,registerAlias (BigInteger.class先导入biginteger”“也);   null   null   null   null   null   null   null   null   null   null   null   null   null

mybatis配置文件resultType和resultMap的区别以及mybatis自带的别名