前面mybatis的入门程序基本上都写完了,就看大家的灵活运用了,今天来吧前面的整合一下封装一个公共的BaseDao

只需要把前面的改造下然后创建一个BaseDao的接口,其它的继承BaseDao接口就可以了就可以了,这个是最简单了,不废话了直接贴代码了

1.首先创建一个BaseDao

package cn.my.dao;

import java.util.List;
/**
* 将公用方法提取出来
* @author Administrator
*
* @param <T>
*/
public interface BaseDao<T> { public List<T> findAll();
public T findById(int id);
public void insert(T entity);
public void update(T entity);
public void delete(int id);
}

2.将UserDaoMapper.java父类以后的方法注释

package cn.my.dao;

import java.util.List;

import cn.my.mybatis.entity.User;
import cn.my.mybatis.entity.UserQueryVo; public interface UserDaoMapper extends BaseDao<User> { public List<User> findByNameAndSex(UserQueryVo userVo);
public List<User> findByIds(UserQueryVo userVo);
/**
* 直接注释父接口中已有的方法
*/
// public User findById(int id);
// public void insert(User entity);
// public void update(User entity);
// public void delete(int id);
}

3.同样将OrdersDaoMapper.ava父类以后的方法注释

package cn.my.dao;

import java.util.List;

import cn.my.mybatis.entity.Orders;

public interface OrdersDaoMapper extends BaseDao<Orders> {
// public List<Orders> findAll();
public List<Orders> findDetialAll();
}

4.下面我就只运行上节写的最后一个测试方法testfindDetialAll

   @Test
public void testfindDetialAll(){
SqlSession session = factory.openSession();
OrdersDaoMapper dao = session.getMapper(OrdersDaoMapper.class);//获取mybatis的动态代码实现接口对象
List<Orders> list = dao.findDetialAll();
session.close();
for (Orders orders : list) {
System.out.println(orders);
}
}

5.运行结果:

Orders [id=3, user_id=1, number=1000010, createtime=Wed Feb 04 13:22:35 CST 2015, note=null, user=User [id=1, username=王五, sex=2, birthday=null, address=null], detailList=[Ordersdetail [id=1, items_id=1, items_num=1, orders_id=0], Ordersdetail [id=2, items_id=2, items_num=3, orders_id=0]]]
Orders [id=4, user_id=1, number=1000011, createtime=Tue Feb 03 13:22:41 CST 2015, note=null, user=User [id=1, username=王五, sex=2, birthday=null, address=null], detailList=[Ordersdetail [id=3, items_id=3, items_num=4, orders_id=0], Ordersdetail [id=4, items_id=2, items_num=3, orders_id=0]]]

好了写完了以上就是封装的一个最简单的BaseDao.java,有时间我会继续往下写的,如果需要加群一起研究的可以q我,939705214,也可以添加群号581591235,也可以加微信群

mybatis快速入门(六)的更多相关文章

  1. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  2. MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  3. MyBatis学习总结(一)——MyBatis快速入门(转载)

    本文转载自http://www.cnblogs.com/jpf-java/p/6013537.html MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了 ...

  4. MyBatis入门学习教程-MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  5. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  6. 【转】MyBatis学习总结(一)——MyBatis快速入门

    [转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC ...

  7. MyBatis学习总结-MyBatis快速入门的系列教程

    MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [ ...

  8. MyBatis学习笔记(一)——MyBatis快速入门

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...

  9. Java基础-SSM之mybatis快速入门篇

    Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...

随机推荐

  1. 📉 Draggable Curve Control (English)

    Conmajia 2012 Updated on Feb. 18, 2018 In Photoshop, there is a very powerful feature called Curve A ...

  2. vue 路由懒加载 使用,优化对比

    vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运 ...

  3. ie 浏览器文本输入框和密码输入框的默认样式

    登录页在ie浏览器上的默认样式 输入框后面的X    密码框后面的眼睛 如下图 解决方案 /*ie文本框背景色*/ input::-ms-clear { display: none; } /*ie文本 ...

  4. 【收藏】8段JQuery处理表单的代码片段,很实用

    1 只接受数字输入 $("#uAge").keydown(function(event) { // 允许退格和删除键 if ( event.keyCode == 46 || eve ...

  5. 教我徒弟Android开发入门(二)

    前言: 上一期实现了简单的QQ登录效果,这一期继续对上一期进行扩展 本期的知识点: Toast弹窗,三种方法实现按钮的点击事件监听 正文:   Toast弹窗其实很简单,在Android Studio ...

  6. 用原生js实现一个new方法

    首先写一个父类方法(包含参数name,age): function Person(name,age){ this.name = name; this.age = age; } new一个Person的 ...

  7. java3 - 流程控制

    一.Java 有三种主要的循环结构: 需求:分别使用三种循环将 1 到 100 的整数输出到控制台. 1.for 循环 for(初始化语句; 布尔表达式语句; 更新语句) { //循环体内容 } 示列 ...

  8. DxPackNet 5.视频高质量的压缩和传输

    DxPackNet 对视频的压缩和解压也提供了很好的支持,且系统不需要装第三方解码器哦~ 主要用到了 IxVideoEncoder 视频编码器  和 IxVideoDecoder 两个接口 这里只做简 ...

  9. github的拉取、提交,创建分支与合并

    前期准备: 1.安装git  官网地址:https://git-scm.com/(下载下来,直接下一步)   2.github账号(这有点废话)   3.配置github密钥 下载及安装好git后,右 ...

  10. 老男孩Python全栈开发(92天全)视频教程 自学笔记07

    day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...