使用Map接收返回數據庫的數據


查詢返回值是map類型的一條數據

1 首先在接口中寫方法

public interface EmployeeMapper {

//返回一條記錄的map;key就是列名,值就是對應的值
public Map<String, Object> getEmpByIdReturnMap(Integer id);

}

2 在映射文件xml配置方法

<!--public Map<String, Object> getEmpByIdReturnMap(Integer id); -->
<select id="getEmpByIdReturnMap" resultType="map">
select * from tbl_employee where id=#{id}
</select>

3在junit方法里進行測試

@Test
public void test04() throws IOException{

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
//1、獲取到的SqlSession不會自動提交數據
SqlSession openSession = sqlSessionFactory.openSession();

try{
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Map<String, Object> map = mapper.getEmpByIdReturnMap(1);
System.out.println(map);
String email=(String) map.get("email");
System.out.println(email);
}finally{
openSession.close();
}
}

查詢返回值是map類型的多條數據

1 首先在接口中寫方法

public interface EmployeeMapper {

//多條記錄封裝一個map:Map<Integer,Employee>:鍵是這條記錄的主鍵,值是記錄封裝后的javaBean
//@MapKey:告訴mybatis封裝這個map的時候使用哪個屬性作為map的key

@MapKey("email")
public Map<String, Employee> getEmpByLastNameLikeReturnMap(String email);

}

2 在映射文件xml配置方法


<!--public Map<Integer, Employee> getEmpByLastNameLikeReturnMap(String lastName); -->
<select id="getEmpByLastNameLikeReturnMap" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where email like #{email}
</select>

3在junit方法里進行測試

@Test
public void test04() throws IOException{

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
//1、獲取到的SqlSession不會自動提交數據
SqlSession openSession = sqlSessionFactory.openSession();

try{
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Map<String, Employee> map = mapper.getEmpByLastNameLikeReturnMap("%e%");
System.out.println(map);
System.out.println("第一條記錄為:"+map.get("jerry6@atguigu.com"));
System.out.println("第一條記錄為:"+map.get("jerry6@atguigu.com").getEmail());

}finally{
openSession.close();
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM