1.准备jar包:
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="com/qtech/xml/SqlMap.properties"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>
<sqlMap resource="com/qtech/xml/Student.xml" />
</sqlMapConfig>
<properties resource="com/qtech/xml/SqlMap.properties"/>:指定使用哪个资源文件
SqlMap.properties:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:NIIT
username=scott
password=tiger
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 alias="Student" type="com.qtech.model.Student"/>
<select id="selectAllStudent" resultClass="Student">
select * from student
</select>
</sqlMap>
<typeAlias alias="Student" type="com.qtech.model.Student"/>:指定类名的缩写
<select id="selectAllStudent" resultClass="Student">
select * from student
</select>
表示sql的结果为Student类型,用selectAlllStudent 来标识
简历student表的实体类Student.java
package com.qtech.model;
import java.util.Date;
public class Student {
private int sid;
private String sname;
private String major;
private Date birth;
private float socre;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public float getSocre() {
return socre;
}
public void setSocre(float socre) {
this.socre = socre;
}
@Override
public String toString() {
return "sid="+sid+",sname="+sname+",major="+major+",birht="+birth+",socre="+socre;
}
public static void main(String[] args) {
System.out.println(new Student());
}
}
定义各种操作,IStudentDAO.java 和实现类StudentDAOImpl.java
package com.qtech.dao;
import java.util.List;
import com.qtech.model.Student;
public interface IStudentDAO {
public void addStudent(Student student);
public void addStudentBySequence(Student student);
public void deleteStudentById(int id);
public void updateStudent(Student student);
public List<Student> queryAllStudent();
public List<Student> queryStudentByName(String name);
public Student queryStudentById(int id);
}
package com.qtech.dao.impl;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.qtech.dao.IStudentDAO;
import com.qtech.model.Student;
public class StudentDAOImpl implements IStudentDAO {
private static SqlMapClient sqlMapClient = null;
static{
try {
Reader reader = Resources.getResourceAsReader("com/qtech/xml/SqlMapConfig.xml");
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void addStudent(Student student) {
// TODO Auto-generated method stub
}
public void addStudentBySequence(Student student) {
// TODO Auto-generated method stub
}
public void deleteStudentById(int id) {
// TODO Auto-generated method stub
}
public List<Student> queryAllStudent() {
List<Student> studentList = null;
try {
studentList = sqlMapClient.queryForList("selectAllStudent");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return studentList;
}
public Student queryStudentById(int id) {
// TODO Auto-generated method stub
return null;
}
public List<Student> queryStudentByName(String name) {
// TODO Auto-generated method stub
return null;
}
public void updateStudent(Student student) {
// TODO Auto-generated method stub
}
}
test类:
@Test
public void testQueryAllStudent() {
IStudentDAO dao = new StudentDAOImpl();
List<Student> students = dao.queryAllStudent();
for(Student student : students){
System.out.println(student);
}
}
测试结果:
sid=1,sname=suhao,major=网络工程,birht=Tue Apr 22 10:12:18 CST 2014,socre=0.0
sid=2,sname=suhao2,major=网络工程,birht=Tue Apr 22 11:19:59 CST 2014,socre=0.0