<!-- SQL語句中的#之間的參數(shù)必須和PoJo類中屬性名稱的大小寫保持一致 -->
<sqlMap>
<!-- 查詢所有員工 -->
<select id="selectAllEmp" resultClass="hashmap">
SELECT * FROM EMP
</select>
<!-- 按工號查詢員工 -->
<select id="selectEmpByNo" resultClass="com.microserver.pojo.Emp" parameterClass="string">
SELECT * FROM EMP WHERE EMPNO = #empnNo#
</select>
<!-- 添加新員工 -->
<insert id="addEmp" parameterClass="com.microserver.pojo.Emp">
INSERT INTO EMP(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) VALUES(#empNo#,#ename#,#job#,#mgr#,#hiredate#,#sal#,#comm#,#deptno#)
</insert>
<!-- 修改員工信息 -->
<update id="updateEmp" parameterClass="com.microserver.pojo.Emp">
UPDATE EMP SET ENAME = #ename#,JOB = #job#,MGR = #mgr#,HIREDATE = #hiredate#,SAL = #sal#,COMM = #comm#,DEPTNO = #deptno# WHERE EMPNO = #empNo#
</update>
<!-- 刪除員工信息 -->
<delete id="delEmp" parameterClass="string">
DELETE FROM EMP WHERE EMPNO = #empNo#
</delete>
</sqlMap>
三、一個基于ibatis框架Web工程的結(jié)構(gòu)截圖
四、ibatis框架的DAO類
package com.microserver.dao;
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.microserver.pojo.Emp;
public class EmpDAO {
//emp配置文件路徑
String resource = "com/microserver/data/SqlMapConfig.xml";
//聲明reader對象用于讀取上面配置文件
Reader reader = null;
//
SqlMapClient smc = null;
//默認(rèn)構(gòu)造方法
public EmpDAO(){
try {
//讀取上面的文檔
this.reader = Resources.getResourceAsReader(resource);
this.smc = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//該方法獲得所有員工信息
public List getAllEmp() throws SQLException{
//聲明Emp泛型集合盛放查詢結(jié)果集
return this.smc.queryForList("selectAllEmp");
}
// 按工號查詢員工對象
public Emp getEmpByNo(String EmpNo) throws SQLException{
//聲明Emp泛型集合盛放查詢結(jié)果集
return (Emp)this.smc.queryForObject("selectEmpByNo",EmpNo);
}
// 該方法添加新員工
public void addEmp(Emp emp) throws SQLException{
this.smc.insert("addEmp", emp);
}
// 更新員工信息
public void updateEmp(Emp emp) throws SQLException{
this.smc.update("updateEmp", emp);
}
//刪除員工信息
public void deleteEmp(String empNo) throws SQLException{
this.smc.delete("delEmp", empNo);
}
}
五、一個ibatis框架的Action類
package com.microserver.action;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import com.microserver.dao.EmpDAO;
import com.microserver.pojo.Emp;
//員工業(yè)務(wù)邏輯類
public class EmpAction {
// 實(shí)例化EmpDAO類對象
EmpDAO ed = new EmpDAO();
// 該方法獲得所有員工信息
@SuppressWarnings("unchecked")
public void getAllEmp() {
//
try {
//調(diào)用方法獲得查詢所有員工的信息
List emplist = ed.getAllEmp();
for(int i = 0;i < emplist.size();i++){
//將上面List集合強(qiáng)制轉(zhuǎn)換為Map集合
Map empMap = (Map)emplist.get(i);
//顯示集合中每個對象的屬性值
//注:此處字段要區(qū)分大小寫
System.out.print(empMap.get("EMPNO") + "\t");
System.out.print(empMap.get("ENAME") + "\t");
System.out.print(empMap.get("JOB") + "\t");
System.out.print(empMap.get("MGR") + "\t");
System.out.print(empMap.get("HIREDATE") + "\t");
System.out.print(empMap.get("SAL") + "\t");
System.out.print(empMap.get("COMM") + "\t");
System.out.println(empMap.get("DEPTNO"));
System.out.println("--------------------------------------");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//按員工編號查詢員工
public void getEmpByNo(String empNo){
try {
//調(diào)用方法獲得查詢的員工對象
Emp emp = ed.getEmpByNo(empNo);
//
System.out.print(emp.getEmpNo() + "\t");
System.out.print(emp.getEname() + "\t");
System.out.print(emp.getJob() + "\t");
System.out.print(emp.getComm() + "\t");
System.out.print(emp.getHiredate() + "\t");
System.out.print(emp.getMgr() + "\t");
System.out.print(emp.getSal() + "\t");
System.out.print(emp.getDeptno() + "\t");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//添加員工的方法
public void addEmp(Emp emp){
try {
//調(diào)用方法添加新員工
ed.addEmp(emp);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//修改員工信息
public void updateEmp(Emp emp){
try {
ed.updateEmp(emp);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//刪除員工信息
public void deleteEmp(String empNo){
try {
ed.deleteEmp(empNo);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}