文章目录

  • 0、创建mybatis 数据库
  • 1、在mybatis数据库下创建employee数据表
  • 2、创建Employee对象
  • 3、创建EmployeeMapper接口
  • 4、创建pom.xml
  • 5、创建mybatis-config.xml主配置文件
  • 6、创建EmployeeMapper.xml
  • 7、创建TestMybatis测试类

0、创建mybatis 数据库

CREATE SCHEMA `mybatis` DEFAULT CHARACTER SET utf8mb4 ;

1、在mybatis数据库下创建employee数据表

create table employee(
id int primary key auto_increment,
name varchar(50),
gender varchar(1)
);

2、创建Employee对象

package com.mi.pojo;public class Employee {private int id;private String name;private String gender;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Employee{" +"id=" + id +", name='" + name + '\'' +", gender='" + gender + '\'' +'}';}
}

3、创建EmployeeMapper接口

package com.mi.dao;import com.mi.pojo.Employee;public interface EmployeeMapper {public Employee getEmployeeById(int id);
}

4、创建pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mi</groupId><artifactId>mybatis</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies></project>

5、创建mybatis-config.xml主配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><mappers><mapper resource="mapper/EmployeeMapper.xml"/></mappers>
</configuration>

6、创建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.mi.dao.EmployeeMapper"><!--id 为接口的方法名--><select id="getEmployeeById" resultType="com.mi.pojo.Employee">select * from employee where id = #{id}</select>
</mapper>

7、创建TestMybatis测试类

package com.mi.test;import com.mi.dao.EmployeeMapper;
import com.mi.pojo.Employee;
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 java.io.IOException;
import java.io.InputStream;public class TestMybatis {public SqlSessionFactory getSqlSessionFactory() throws IOException {String resource  = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void test() throws IOException {//1、获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();//2、获取Sqlsesion对象SqlSession sqlSession = sqlSessionFactory.openSession();try {//3、获取接口的实现类对象//会为接口自动创建一个代理对象,代理对象去执行增删改查方法EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);Employee employee = mapper.getEmployeeById(1);System.out.println(employee);}finally {sqlSession.close();}}
}

1、MyBatis面向接口编程相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. python面向接口编程_Python 中的面向接口编程

    前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...

  8. C语言面向对象编程(四):面向接口编程

    Java 中有 interface 关键字,C++ 中有抽象类或纯虚类可以与 interface 比拟,C 语言中也可以实现类似的特性. 在面试 Java 程序员时我经常问的一个问题是:接口和抽象类有 ...

  9. python 接口编程_Python 中的面向接口编程

    前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...

最新文章

  1. 自己实现一个最简单的数据库
  2. 互斥信号量的原理与创建
  3. boost::mp11::mp_sort_q相关用法的测试程序
  4. webservice 基本要点
  5. laravel支付宝sdk接入
  6. 算法:由0-5随机数设计0-8随机数
  7. 关系数据库的基本概念和MySQL说明
  8. Python发送POST request payload形式的请求
  9. 评分 - 2019寒假训练营第一次作业
  10. 卓岚zlan系列串口服务器,卓岚信息技术隔离型串口服务器ZLAN5143BI概述
  11. 数字信号处理matlab实验心得,数字信号处理学习心得体会3篇
  12. java 离线版语音转文字
  13. 用WPF做报表控件(一)
  14. SEO关键词产出之词频分析(关键词工具篇)
  15. iphone老是显示e服务器,苹果手机变成e网怎么办(苹果手机上显示e,怎么回事?)
  16. 空间数据挖掘与空间大数据的探索与思考(三)
  17. linux系统取消时间同步,linux下时间同步的两种方法分享
  18. iPhone开发 - 3D - 建立3D界面(下)
  19. SecureRandom的江湖偏方与真实效果
  20. 斐波拉契数列(简单思路)

热门文章

  1. resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!
  2. centos 7 minimal connect: Network is unreachable和ifconfig command not found
  3. 2014考研计算机网络,2014考研计算机专业大纲:计算机网络部分现两大变化
  4. python什么是数据结构_〖Python〗-- 数据结构
  5. mysql switch binlog_如何使用 Golang 处理 MySQL 的 binlog
  6. 十月 android版本分布,安兔兔发布2018年10月份Android手机性能排行榜
  7. cad lisp 两侧偏移并删除_弱电CAD不算CAD?学学操作,将手速发挥极致,让他人刮目相看...
  8. iconfont在html种颜色,iconfont+开始支持彩色图标
  9. 最好电脑操作系统_软件开发人员该如何选择笔记本电脑?朋克老师来教你
  10. git查看改变的方法