研究了一天mybatis如何执行存储过程,基本了解了ORM的设计思想,在map层面进行对象关系映射有两种思路。
根据不同的业务使用不同的思路:
一、实体类和数据库映射,就是将数据库中的字段和java实体类中的对象对应起来,这是最普遍的做法。
就是这个样子:
二、将数据库的字段和java的Map对应起来,也就是key-value的形式,个人认为这种方法适合存储过程的执行,因为存储过程的参数很多情况下都是通过自定义
来进行参数传递的。这样,就ORM的形式更加灵活。
具体实例:
1、dao层接口定义
public interface IFuneralDao { void saveFuneral(MapfuneralMap); void getFuneral(Map funeralMap); @SuppressWarnings("rawtypes") List
2、dao层对应mapper.xml
"employeecd", "employeename", "applytype", "reason", "startend", "days", "method"
3、service层调用
@Service("funeralService")public class FuneralServiceImpl implements IFuneralService { @Resource private IFuneralDao funeralDao; /** * 添加信息 * 将参数通过Map传入到数据库后,返回值同样会保存到传入值的那个Map中 * @param funeralProc * @return 1、成功 0、失败 */ public boolean saveFuneral(MapfuneralMap) { funeralDao.saveFuneral(funeralMap); return (Short) funeralMap.get("o_result")>0; } /** * 获取单条信息 */ public Map getFuneral(Map funeralMap){ funeralDao.getFuneral(funeralMap); return funeralMap; } /** * 获取多条数据,用List存取 */ @SuppressWarnings("rawtypes") public List
转载请标明地址: