一、Mapper代理
传统开发方式跟数据连接使用dao接口,dao接口的实现类存在大量重复语句,且存在硬编码,如Mybatis(一)中的类似语句
sqlSession.delete("cn.cf.domain.User.deleteUserById", 3);
传入的变量因为sqlSession使用泛型,无法判断是否正确。因此对程序的开发会有些不利。
mapper代理
因此使用mapper代理改进。以下列子将使用mapper代理
二、mapper代理实例
2.1 环境搭建

2.2 实体类
package cn.cf.domain;
/**
* Product的实体类
*
* @author cf
*
*/
public class Product {
private int p_id;
private String p_name;
private Double p_price;
private String p_category;
public int getP_id() {
return p_id;
}
public void setP_id(int p_id) {
this.p_id = p_id;
}
public String getP_name() {
return p_name;
}
public void setP_name(String p_name) {
this.p_name = p_name;
}
public Double getP_price() {
return p_price;
}
public void setP_price(Double p_price) {
this.p_price = p_price;
}
public String getP_category() {
return p_category;
}
public void setP_category(String p_category) {
this.p_category = p_category;
}
@Override
p

本文介绍了Mybatis的Mapper代理,旨在解决传统DAO接口实现中重复SQL语句和硬编码的问题。通过Mapper代理,可以避免这些问题,提高开发效率。文章详细讲解了Mapper代理的原理,并通过环境搭建、实体类、Mapper接口和配置、sqlMapConfig.xml配置以及测试用例的步骤,展示了如何使用Mapper代理。总结中强调,使用getMapper方法获取代理对象,使得接口方法直接对应数据库操作,提高了代码的可读性和维护性。
最低0.47元/天 解锁文章
3428

被折叠的 条评论
为什么被折叠?



