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 nullmybatis配置文件resultType和resultMap的区别以及mybatis自带的别名