[mybatis]傳值和返回結果
阿新 • • 發佈:2018-12-15
upd 基本 etc dna bat color pre ike from
一、傳值:
parameterType的形式:可以傳遞一個類,也可以是一個map
<update id="updateCategory" parameterType="Category" > update category_ set name=#{name} where id=#{id} </update>
<select id="listCategoryByName" parameterType="string" resultType="Category"> select * from category_ where name like concat(‘%‘,#{0},‘%‘)</select>
<select id="listCategoryByIdAndName" parameterType="map" resultType="Category"> select * from category_ where id> #{id} and name like concat(‘%‘,#{name},‘%‘) </select>
在代碼側的寫法:
Map<String,Object> params = new HashMap<>(); params.put("id", 3); params.put("name", "cat"); List<Category> cs = session.selectList("listCategoryByIdAndName",params);
在parameterType="string" 為基本類型時,引用可以寫#{0},也可以為#{id},#{idd},中間為任意名,也可以省略parameterType不寫
在parameterType="map"時,在select中可以不寫parameterType
二、返回結果:
1:resultType的形式:返回的是一個類
<select id="getCategory" parameterType="_int" resultType="Category"> select * from category_ where id= #{id} </select>
2:resultMap的形式:返回的是一個map
resultMap中的值categoryBean是該xml文件中的resultMap的id
<resultMap type="Category" id="categoryBean"> <id column="cid" property="id" /> <result column="cname" property="name" /> <!-- 一對多的關系 --> <!-- property: 指的是集合屬性的值, ofType:指的是集合中元素的類型 --> <collection property="products" ofType="Product"> <id column="pid" property="id" /> <result column="pname" property="name" /> <result column="price" property="price" /> </collection> </resultMap> <!--關聯查詢分類和產品表 --> <select id="listCategory" resultMap="categoryBean"> select c.*, p.*, c.id ‘cid‘, p.id ‘pid‘, c.name ‘cname‘, p.name ‘pname‘ from category_ c left join product_ p on c.id = p.cid </select>
[mybatis]傳值和返回結果