Mybatis结果集映射
生活随笔
收集整理的這篇文章主要介紹了
Mybatis结果集映射
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、使用場景
當數據庫里的列名和實體類的屬性名不一致,就需要進行結果映射
二、UserMapper接口
package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User; import org.apache.ibatis.annotations.Param;import java.util.HashMap; import java.util.List;public interface UserMapper {/*** 結果映射* @param username* @param sex* @param startIndex* @param pageSize* @return*/public List<User> findByManyConditionByParamByResultMap(@Param("username") String username, @Param("sex") String sex, @Param("startIndex")Integer startIndex,@Param("pageSize") Integer pageSize); }三、UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.william.dao.UserMapper"><!--結果映射--><!--id :唯一標識type:返回值類型--><resultMap id="userMap" type="user"><!--映射主鍵column:列名property:屬性名--><id column="id" property="id"></id><result column="_username" property="username"></result></resultMap><select id="findByManyConditionByParamByResultMap" resultMap="userMap">select * from user where _username like "%"#{username}"%" and sex=#{sex}limit #{startIndex},#{pageSize}</select> </mapper>四、TestCrud測試類
package com.william;import com.william.dao.UserMapper; import com.william.domain.QueryValueObject; import com.william.domain.User; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test;import javax.annotation.Resource; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.List;/*** @author :lijunxuan* @date :Created in 2019/7/12 10:16* @description :* @version: 1.0*/ public class TestCrud {/*** 結果映射 Mybatis多條件直接查詢Param注解版* @throws IOException*/@Testpublic void findByManyConditionByParamByResultMap() throws IOException {InputStream inputStream = Resources.getResourceAsStream("Mybatis-configuration.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();//獲取某接口的動態代理對象(獲取某接口的一個實現類)UserMapper userMapper = sqlSession.getMapper(UserMapper.class);QueryValueObject queryValueObject = new QueryValueObject();List<User> userMapperByConditionByMap = userMapper.findByManyConditionByParamByResultMap("a","男",0,7);for (User user1 : userMapperByConditionByMap) {System.out.println(user1);}sqlSession.close();} }五、測試結果
總結
以上是生活随笔為你收集整理的Mybatis结果集映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mybatis多条件直接查询Param注
- 下一篇: 关键字高亮查询