<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace和定义的Mapper接口对应,并实现其中的方法 --> <mapper namespace="com.gwtjs.mapper.AccountMapper"> <!-- CREATE OR REPLACE Procedure getTeacher(cur_arg out Sys_Refcursor) As begin open cur_arg for select * from t_user; End; / --> <select id="getPagerProc" statementType="CALLABLE" parameterType="java.util.Map"> {call pager_proc( #{tableName,mode=IN,jdbcType=VARCHAR}, #{empNo,mode=IN,jdbcType=VARCHAR}, #{myPageSize,mode=IN,jdbcType=INTEGER}, #{pageNow,mode=IN,jdbcType=INTEGER}, #{myRows,mode=OUT,jdbcType=INTEGER}, #{myPageCount,mode=OUT,jdbcType=INTEGER}, #{result,jdbcType=CURSOR,mode=OUT,javaType=ResultSet, resultMap=userResultMap2})} </select> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gwtjs.mapper.AccountMapper"> <resultMap type="com.gwtjs.entity.Account" id="userResultMap2"> <result property="username" column="USER_NAME" /> <result property="password" column="USER_PASSWORD" /> </resultMap> </mapper>
import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Select; import org.springframework.dao.DataAccessException; import com.gwtjs.entity.Account; /** * <b>function:</b>继承SqlMapper,MyBatis数据操作接口;此接口无需实现类 * @version 1.0 */ public interface AccountMapper<T extends Account> extends BaseSqlMapper<T> { public Map<String, Object> getPagerProc(Map<String, Object> result) ; }
package com.gwtjs.dao; import java.util.List; import java.util.Map; import org.springframework.dao.DataAccessException; import com.gwtjs.entity.Account; /** */ public interface AccountDao<T> { public Map<String, Object> getPagerProc(Map<String, Object> result) ; }
package com.gwtjs.dao.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.inject.Inject; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Repository; import com.gwtjs.dao.AccountDao; import com.gwtjs.dao.BaseMapperDao; import com.gwtjs.entity.Account; import com.gwtjs.mapper.AccountMapper; /** */ @SuppressWarnings("unchecked") @Repository("accountDao") public class AccountDaoImpl<T extends Account> implements AccountDao<T> { @Inject private BaseMapperDao<Account> dao; public Map<String, Object> getPagerProc(Map<String, Object> result) { dao.setMapperClass(AccountMapper.class); ((AccountMapper) dao.getMapper()).getPagerProc(result); return result; } }
package com.gwtjs.dao; import static org.junit.Assert.assertNotNull; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import com.gwtjs.entity.Account; public class AccountDaoTest extends SpringTestBase { @Autowired private AccountDao<Account> accountDao; @Test public void testBaseConfig() { // TODO Auto-generated method stub assertNotNull(accountDao); } @Test public void testGetPagerProc() { Map<String, Object> map = new HashMap<String, Object>(); map.put("tableName", "SYS_USERS");//表名 map.put("empNo", "USER_ID");//排序名 map.put("myPageSize", 12); //页大小 map.put("pageNow", 1);//第几页 Map<String, Object> result = accountDao.getPagerProc(map); System.out.println("Hello procedure "+result); } }