MyBatis中Dao层、Service层以及xml文件的CRUD模板

前言: 在学习Mybatis的各个层的时候会出现大量的重复代码。因此把遇到的CRUD的相关操作写下来,并且有非常详细的注释。后续相关CRUD代码不断增加中。水平有限,有错误或者更好的处理方法欢迎指出。
注意: 虽然有自动代码文件的插件mybatis-generator,不过我觉得在学习中还是需要熟悉相关操作。

主要包括下面四个文件内容:

  • Dao层接口模板IBaseDao
  • Dao接口对应的xml文件模板
  • Service层接口模板IBaseService
  • Service层实现子类模板BaseServiceImpl

Dao层接口模板IBaseDao

package com.dao;

import java.util.List;
import java.util.Set;

/**
 * DAO接口方法模板,DAO层的参数都用包装类Integer,Long之类的
 *
 */

public interface IBaseDao<T> {

    /**
     * 实现数据的增加操作
     * 
     * @param vo 包含了要增加数据的vo对象
     * @return 数据增加成功返回true,否则返回false
     */
    boolean doInsert(T vo);

    /**
     * 实现数据的修改操作,一般是根据ID进行其他字段数据的修改
     * 
     * @param vo 包含了要修改的数据信息,一定要提供有ID内容
     * @return 数据修改成功返回true,否则返回false
     */
    boolean doUpdate(T vo);

    /**
     * 实现数据的删除操作,以ID信息来进行删除
     * 
     * @param id 表示要删除的ID
     * @return 数据删除成功返回true,否则返回false
     */
    boolean doDelete(Integer id);

    /**
     * 执行数据的批量删除操作,所有要删除的数据以Set集合的形式保存
     * 
     * @param ids 包含了所有要删除的ID,不包含有重复内容
     * @return 数据删除成功返回true,否则返回false
     */
    boolean doDeleteBatch(Set<Integer> ids);

    /**
     * 根据ID查询单个对象信息
     * 
     * @param id 要查询的对象ID
     * @return 如果表中有数据,则数据以vo类对象的形式返回,如果信息不存在,则返回null
     */
    T findById(Integer id);

    /**
     * 根据ID查询多个对象信息
     * 
     * @param ids 要查询的多个对象ID
     * @return 如果表中有数据,则所有数据会封装为vo对象而后利用List集合返回,如果没有数据,那么集合的长度为0(size() == 0)
     */
    List<T> findByIds(Set<Integer> ids);

    /**
     * 根据ID查询所有对象信息
     * 
     * @return 如果表中有数据,则所有数据会封装为vo对象而后利用List集合返回,如果没有数据,那么集合的长度为0(size() == 0)
     */
    List<T> findAll();

    /**
     * 分页进行数据的模糊查询,查询结果以集合的形式返回
     * @param currentPage 当前所在页
     * @param lineSize 每页显示的数据行数
     * @param column 要进行模糊查询的数据列
     * @param keyWord 模糊查询的关键字
     * @return 如果表中有数据,则所有数据会封装为vo对象而后利用List集合返回,如果没有数据,那么集合的长度为0(size() == 0)
     *由于需要使用多种数据类型,所以使用Map集合,由于类型不统一,所以所有value的类型设置为Object。
     *  如果传入多个参数有两种处理方法(两种方法的IService接口都一样,传入多个参数,不做改变):
     *  (1)每个使用@param注解:首先在IDao接口里面方法的每个参数都添加@param("value"). 然后在对应xml文件之中就不需要写parameterType类型。
     *  &#x
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值