1、MyBatis面向接口编程
文章目录
- 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面向接口编程相关推荐
- 【转】工厂模式面向接口编程
为了实现更好的灵活性 应改面向接口编程.因此,应该面向接口提供工场. 比如,Cat, Dog, Mouse,都是4条腿会跑的动物. 因此,我们建立一个接口叫做F ...
- 黑马java教程是什么_Java教程:揭秘什么是面向接口编程
先用一个案例来给大家说明一下面向接口编程. 案例:有一个电脑类(Computer),电脑除了有基本的开机关机功能外,还有连接任何外接设备的功能,比如能电脑能连接外置键盘(Keyboard),鼠标(Mo ...
- Java面向接口编程,低耦合高内聚的设计哲学
接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...
- java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程
多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...
- Java 面向抽象编程和面向接口编程
以下内容来自<Java 2实用教程>,主编:耿祥义.张跃平 鉴于面向抽象编程和面向接口编程思维培养的重要性,写此博客巩固. 面向抽象编程: 在设计程序时,经常会使用到abstract类,其 ...
- 为什么有人说面向对象编程就是面向接口编程?
"面向对象编程就是面向接口编程" 这句话相信, 很多人都在网上见过, 装b利器. 我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了. 首先, 我认为这句话是1个假命题. ...
- python面向接口编程_Python 中的面向接口编程
前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...
- C语言面向对象编程(四):面向接口编程
Java 中有 interface 关键字,C++ 中有抽象类或纯虚类可以与 interface 比拟,C 语言中也可以实现类似的特性. 在面试 Java 程序员时我经常问的一个问题是:接口和抽象类有 ...
- python 接口编程_Python 中的面向接口编程
前言 "面向接口编程"写 Java 的朋友耳朵已经可以听出干茧了吧,当然这个思想在 Java 中非常重要,甚至几乎所有的编程语言都需要,毕竟程序具有良好的扩展性.维护性谁都不能拒绝 ...
最新文章
- 自己实现一个最简单的数据库
- 互斥信号量的原理与创建
- boost::mp11::mp_sort_q相关用法的测试程序
- webservice 基本要点
- laravel支付宝sdk接入
- 算法:由0-5随机数设计0-8随机数
- 关系数据库的基本概念和MySQL说明
- Python发送POST request payload形式的请求
- 评分 - 2019寒假训练营第一次作业
- 卓岚zlan系列串口服务器,卓岚信息技术隔离型串口服务器ZLAN5143BI概述
- 数字信号处理matlab实验心得,数字信号处理学习心得体会3篇
- java 离线版语音转文字
- 用WPF做报表控件(一)
- SEO关键词产出之词频分析(关键词工具篇)
- iphone老是显示e服务器,苹果手机变成e网怎么办(苹果手机上显示e,怎么回事?)
- 空间数据挖掘与空间大数据的探索与思考(三)
- linux系统取消时间同步,linux下时间同步的两种方法分享
- iPhone开发 - 3D - 建立3D界面(下)
- SecureRandom的江湖偏方与真实效果
- 斐波拉契数列(简单思路)
热门文章
- resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!
- centos 7 minimal connect: Network is unreachable和ifconfig command not found
- 2014考研计算机网络,2014考研计算机专业大纲:计算机网络部分现两大变化
- python什么是数据结构_〖Python〗-- 数据结构
- mysql switch binlog_如何使用 Golang 处理 MySQL 的 binlog
- 十月 android版本分布,安兔兔发布2018年10月份Android手机性能排行榜
- cad lisp 两侧偏移并删除_弱电CAD不算CAD?学学操作,将手速发挥极致,让他人刮目相看...
- iconfont在html种颜色,iconfont+开始支持彩色图标
- 最好电脑操作系统_软件开发人员该如何选择笔记本电脑?朋克老师来教你
- git查看改变的方法