springmvc-mybatis 之mapper代理开发

1.mapper代理与原始dao开发的区别

1.1抽出许多公共的模块,如获得session,关闭资源
1.2不用实现dao接口
1.3易于维护 ,修改不用重新编译java文件

2.开发规范

2.1mapper.xml文件中的命名空间必须与包名相同

<!-- 开发规范:  1.命名空间必须与包名一样  -->
<mapper namespace="com.ssm.mapping.UserMapperDAO">

2.2接口类与mapper.xml在同一个包下

2.3接口中的方法必须与mapper.xml中的id一一对应
2.4接口中的方法参数与mapper.xml中的parameterType指定类型对应
2.5接口中的方法必须与mapper.xml中的resultType一致

<!-- #{}表示一个占位符 根据id查询用户-->
    <select id="findUserById" parameterType="int" resultType="com.ssm.model.User">
        SELECT * FROM USER WHERE id=#{value}
    </select>

    <select id="findUserByName" parameterType="java.lang.String" resultType="com.ssm.model.User">
        SELECT * FROM USER WHERE USERNAME LIKE '%${value}%'
    </select>

public interface UserMapperDAO {

    public User findUserById(int id);
    public List<User> findUserByName(String username);
    public void insertUser(User user);
    public void deleteUser(int id);
    public void updateUser(User user);
}

3.在spring配置文件中配置mepper代理bean

    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 基于原始的dao开发 需要dao实现类 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:sqlmapconfig.xml"></property>
    </bean>


    <!-- 基于mapper代理的dao 开发不需要dao实现类  -->
    <bean id="mapperFacetoryBean" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <!-- 构造方法需要两个参数sqlsessionfactory 与  mapperInterface -->
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
        <property name="mapperInterface" value="com.ssm.mapping.UserMapperDAO"></property>
    </bean>

4.在需要的地方注入

    //接口对象,自动注入
    @Autowired
    private UserMapperDAO mapperFacetoryBean;

以上,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值