iBatis 简单增删改查(CRUD)操作
基于上一篇
http://jiaozhiguang-126-com.iteye.com/blog/1668709
为了简化我们SQL输入参数的配置,我们写一个类来专门负责处理输入参数,把它们封装成一个Map类型,代码如下:
package ibatis;import ibatis.util.ParameterMap;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.HashMap;import java.util.List;import java.util.Map;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class IBatisDemo {private static String config = "ibatis/SqlMapConfig.xml"; private static Reader reader ; private static SqlMapClient sqlMap; static { try {reader = Resources.getResourceAsReader(config);} catch (IOException e) {e.printStackTrace();} sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); }public static void main(String[] args) throws IOException, SQLException { List<HashMap> list = select();for(HashMap dept : list) {System.out.println(dept);}System.out.println("------------------------------------");System.out.println(select("Sec")); System.out.println("------------------------------------");ParameterMap parameterMap = new ParameterMap("dName", "Adv","loc", "Beijing"); System.out.println(select(parameterMap)); System.out.println("------------------------------------"); System.out.println(delete(91)); System.out.println("------------------------------------"); parameterMap = new ParameterMap("deptNo", "91","dName", "财务部", "loc", "哈尔滨"); System.out.println(insert(parameterMap)); System.out.println("------------------------------------"); parameterMap = new ParameterMap("deptNo", "91", "loc", "haerbin"); System.out.println(update(parameterMap)); } public static int delete(int deptNo) throws SQLException { return sqlMap.delete("deleteDept", deptNo); } public static int update(Map parameterMap) throws SQLException { return sqlMap.update("updateDept", parameterMap); } public static int insert(Map parameterMap) throws SQLException { return sqlMap.update("addDept", parameterMap); } public static HashMap select(Map parameterMap) throws SQLException {return (HashMap) sqlMap.queryForObject("getDeptByDeptNameAndLoc", parameterMap); } public static HashMap select(String parameter) throws SQLException { return (HashMap) sqlMap.queryForObject("getDeptByName", parameter); } public static List<HashMap> select() throws SQLException {return sqlMap.queryForList("getAllDepts");}}