Mybatis参考使用文档:http://www.mybatis.org/mybatis-3/zh/index.html

1.项目结构

2.新增EmployeeMapper.java接口代码

package com.atguigu.mybatis.dao;import com.atguigu.mybatis.bean.Employee;public interface EmployeeMapper {public Employee getEmpById(Integer id);}

3.EmployeeMapper.xml改动

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
<!--
namespace:名称空间;  指定接口全类名
id:唯一标识
resultType:返回值类型
#{id}:从传递过来的参数中取出id值 public Employee getEmpById();
--><select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee">select id,last_name lastName,email,gender from tbl_employee where id = #{id}</select>
</mapper>

①namespace指定接口全名②id指定接口方法

3.MybatisTest.java

package com.atguigu.mybatis.test;import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;import com.atguigu.mybatis.bean.Employee;
import com.atguigu.mybatis.dao.EmployeeMapper;public class MybatisTest {private SqlSessionFactory getSqlSessionFactory() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void test02() throws IOException {/*1.创建sqlSessionFactory对象*/SqlSessionFactory sqlSessionFactory =getSqlSessionFactory();/*2.获取SqlSession对象*/SqlSession openSession= sqlSessionFactory.openSession();try {/*3.获取接口的实现对象*/EmployeeMapper mapper=openSession.getMapper(EmployeeMapper.class);//mapper为代理对象,执行增删改查Employee employee=mapper.getEmpById(1);System.out.println(employee);} finally {openSession.close();}}
}

注:mybatis接口式编程不需要创建接口的实现类,只有接口就行

转载于:https://www.cnblogs.com/2016024291-/p/8215154.html

Mybatis_接口编程相关推荐

  1. 【转】工厂模式面向接口编程

    为了实现更好的灵活性     应改面向接口编程.因此,应该面向接口提供工场.         比如,Cat,   Dog,   Mouse,都是4条腿会跑的动物.     因此,我们建立一个接口叫做F ...

  2. 黑马java教程是什么_Java教程:揭秘什么是面向接口编程

    先用一个案例来给大家说明一下面向接口编程. 案例:有一个电脑类(Computer),电脑除了有基本的开机关机功能外,还有连接任何外接设备的功能,比如能电脑能连接外置键盘(Keyboard),鼠标(Mo ...

  3. Java面向接口编程,低耦合高内聚的设计哲学

    接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...

  4. 从针对接口编程到依赖注入

    1.概况说明 2.猫狗大战举例 3.说明为什么要针对接口编程,优点 4.说明为什么要"依赖抽象,不要依赖具体类" 5.说明"依赖倒置"与抽象工厂模式 6.说明& ...

  5. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

  6. 初识Django —Python API接口编程入门

    初识Django -Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...

  7. Java - 为什么要使用接口编程【转】

    看了接口编程这篇文章,理解蛮透彻的.记录下: 进行接口的介绍,必须介绍一下程序语言发展的历史才行,鲁迅先生说过"治学先治史",明白了程序语言发展的前世今生,才能知道为什么这么多语言 ...

  8. Java 面向抽象编程和面向接口编程

    以下内容来自<Java 2实用教程>,主编:耿祥义.张跃平 鉴于面向抽象编程和面向接口编程思维培养的重要性,写此博客巩固. 面向抽象编程: 在设计程序时,经常会使用到abstract类,其 ...

  9. 为什么有人说面向对象编程就是面向接口编程?

    "面向对象编程就是面向接口编程" 这句话相信, 很多人都在网上见过, 装b利器. 我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了. 首先, 我认为这句话是1个假命题. ...

最新文章

  1. git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)(解决办法)
  2. python基础教程第4版-Python基础教程(第3版) 笔记(四)
  3. TypeScript的书写规范(TSLint)配置修改
  4. 服务器推送系统安装,搭建PXE服务器,推送安装linux系统
  5. 国嵌c语言深度,国嵌C语言3部全
  6. tcp假连接_TCP 的那些事儿(上)
  7. SegmentFault D-Day 2016 年度总结报告
  8. python实现xml文件解析失败_Python实现灵活的xml文件解析
  9. spring源码 学习方法
  10. 「小车看百度,大车看深兰」,自动驾驶公交驶向千亿蓝海市场
  11. 泰戈尔《园丁集》选段
  12. *TEST 5 for NOIP 。。。
  13. 判断日期是否是明天,今天,昨天
  14. 班级校园网页设计作业 静态HTML我的班级网页 DW班级网站模板 大学生简单班级网页作品代码 我的大学网页制作 学生班级网页设计作业
  15. 京东饭粒捡漏V1.0.8
  16. po,bo,vo,pojo,dto的区别
  17. 有快照的或链接虚拟机加内存
  18. C#—MDI(多文档界面)
  19. 实战电商后端系统(三)—— 以vue-element-admin为基础的前端项目对接后端接口
  20. “不是内部或外部命令,也不是可运行的程序或批处理文件”

热门文章

  1. 基于计算思维的python程序设计王彬丽期末考试题库_基于计算思维的程序设计类课程教学实践...
  2. Java NIO ———— Buffer 缓冲区详解
  3. vivo android p 机型,vivo X21成全球首批Android P适配机型!vivo :不小心就秀实力了
  4. 2018.9.13,物理仿真实验作业1:测量结果的表示
  5. c 通过jni调用java_使用c通过jni调用java
  6. Vue+Element+Springboot实现图片上传
  7. java 字符串转dom对象_xml类型的字符串转换为Dom对象
  8. Android studio 按钮排版,Android Studio自动排版的两种方法
  9. Jsoup处理URLs
  10. 第二批鸿蒙手机排行,鸿蒙系统第二批升级机型有哪些 鸿蒙系统第二批升级机型名单一览...