您好,登錄后才能下訂單哦!
returnType是自定義的類或者jdk自帶的類
resultMap是在mapperXMl文件中通過resultMap節點定義出來的
例如:
<resultMap id="BaseResultMap" type="com.sinosoft.reins.POJO.model.PrpMaxNo" > <id column="GROUPNO" property="groupno" jdbcType="VARCHAR" /> <id column="TABLENAME" property="tablename" jdbcType="VARCHAR" /> <id column="MAXNO" property="maxno" jdbcType="VARCHAR" /> <result column="FLAG" property="flag" jdbcType="VARCHAR" /> </resultMap>
1)于是我們就可以在后面的查詢節點中使用這個map的id啦
例如:
<select id="genMaxMinNo" resultMap="BaseResultMap"> select GROUPNO,TABLENAME,MAXNO,FLAG from TEST where id=#{id} </select>
2)當然我們也可以在沒有定義resultMap的情況下,直接(保證結果列的key和model的properties一致就可以)
<select id="genMaxMinNo" resultType="com.sinosoft.reins.POJO.model.PrpMaxNo"> select GROUPNO,TABLENAME,MAXNO,FLAG from TEST where id=#{id} </select>
3)當然沒定義resultMap的情況下,也可以使用mybatis的默認機制返回一個map出來
<select id="genMaxMinNo" resultType="map"> select GROUPNO,TABLENAME,MAXNO,FLAG from TEST where id=#{id} </select>
在使用的時候,可以將返回值強轉成HashMap,key默認key是大寫的可以通過起別名使得key變成小寫(別名加不加引號,as用不用必須寫,自己去測驗吧)
<select id="genMaxMinNo" resultType="map"> select GROUPNO as "groupNo",TABLENAME as "tableName",MAXNO as "maxNo",FLAG as "flag" from TEST where id=#{id} </select>
以上就是我們常用的三種方式!!!!
——————————————————————————————————————————
mabatis配置文件偷懶的幾個點:
如果參數只有一個且是簡單類型可以不寫prameterType
如果返回值是簡單類型resultType或者resultMap可以不寫
————————————————————————————————————————
我們之所以能在mapperxml中使用簡寫int,string等等是因為mybatis默認在
org.apache.ibatis.type.TypeAliasRegistry 中為我們定義了類的別名:
registerAlias("string", String.class); registerAlias("byte", Byte.class); registerAlias("long", Long.class); registerAlias("short", Short.class); registerAlias("int", Integer.class); registerAlias("integer", Integer.class); registerAlias("double", Double.class); registerAlias("float", Float.class); registerAlias("boolean", Boolean.class); registerAlias("byte[]", Byte[].class); registerAlias("long[]", Long[].class); registerAlias("short[]", Short[].class); registerAlias("int[]", Integer[].class); registerAlias("integer[]", Integer[].class); registerAlias("double[]", Double[].class); registerAlias("float[]", Float[].class); registerAlias("boolean[]", Boolean[].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[]", 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("date", Date.class); registerAlias("decimal", BigDecimal.class); registerAlias("bigdecimal", BigDecimal.class); registerAlias("biginteger", BigInteger.class); registerAlias("object", Object.class); registerAlias("date[]", Date[].class); registerAlias("decimal[]", BigDecimal[].class); registerAlias("bigdecimal[]", BigDecimal[].class); registerAlias("biginteger[]", BigInteger[].class); registerAlias("object[]", Object[].class); registerAlias("map", Map.class); registerAlias("hashmap", HashMap.class); registerAlias("list", List.class); registerAlias("arraylist", ArrayList.class); registerAlias("collection", Collection.class); registerAlias("iterator", Iterator.class); registerAlias("ResultSet", ResultSet.class);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。