假設資料庫的student表中有如下的欄位和資料:
對應的Student.java如下:
1 public class Student {
2 private Integer id;
3 private String name;
4 private float score;
5 public Integer getId() {
6 return id;
7 }
8 public void setId(Integer id) {
9 this.id = id;
10 }
11 public String getName() {
12 return name;
13 }
14 public void setName(String name) {
15 this.name = name;
16 }
17 public float getScore() {
18 return score;
19 }
20 public void setScore(float score) {
21 this.score = score;
22 }
23 @Override
24 public String toString() {
25 return this.id+"\t"+this.name+"\t"+this.score;
26 }
27 }
此時我們要查詢所有的對象需在Student.xml中添加如下代碼:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!--typeAlias用於簡寫 -->
<typeAlias alias="Student" type="com.jim.bean.Student"/>
<!-- id代表索引名稱 resultClass代表傳回型別-->
<select id="SelectAllStudent" resultClass="Student">
select *
from student
</select>
</sqlMap>
編寫junit進行測試:
1 @Test
2 public void queryAllStudent() throws Exception{
3 Reader reader=Resources.getResourceAsReader("SqlMapConfig.xml");//讀取總設定檔
4 SqlMapClient sqlmapclient=SqlMapClientBuilder.buildSqlMapClient(reader);//建立SqlMapClient來操作資料庫
5 reader.close();
6 List<Student> students=sqlmapclient.queryForList("SelectAllStudent");//調用我們寫在xml中的sql語句
7 for(Student student:students){
8 System.out.println(student);
9 }
10 }
查看結果,成功查詢出所以學生的資訊: