首页 > 技术文章 > Mybatis 概述及 环境搭建

wdh01 2020-08-21 00:00 原文

1。1、什么是框架?  

  framework 译为 框架 骨架 结构;在软件行业是整个系统或部分系统的可重用设计,表现为一组抽象构件和构件实例之间交互的方法;框架的另一种说法:框架是可被应用开发者定制的应用骨架,前者是从应用方面后者是从目的导向方面给出的定义;框架是软件行业的解决方案,不同的框架可以解决不同的问题;使用框架的好处:框架封装了很多功能细节,可以很方便的实现需求功能,从而节省成本;通俗的讲:框架其实是某种应用的半成品,就是一组组件,可以在其基础上做自定义开发;和盖房子一样,90年代的房子是一砖一瓦盖起来的,现在的房子是从开发商手里买来的,我们不关心房子是哪个工人如何盖起来的,可以直接进行装修并入住;

1.2、软件开发分层的意义

框架的重要性在于它实现了部分功能,并且能够很好的将底层应用平台和高层业务逻辑进行了缓和,为了实现软件工程中的“高内聚。低耦合”,把问题分析开来并各个解决、易于控制、易于实现、易于分配资源,我们常见的 MVC 设计思想是一种很好的设计思想;,

  • 表现层:展示数据
  • 业务层:处理业务需求
  • 持久层:数据持久化

1.3、持久层技术解决方案

JDBC技术
  Connection
  Preparestatement
  ResultSet
Spring JdbcTemplate
  Spring 对 Jdbc 的简单封装
Apache DBUtiles
  Apache 对 jdbc 的简单封装
以上还不能称之为框架,jdbc 是以一种规范,Spring 的 JdbcTemplate 和 Apache DBUtiles 只是一组工具类,是JDBC 实现的简单封装;

1.4、Mybatis 框架简介

  Mybatis 是一款基于 Java 的优秀的持久层框架,其内部封装了 jdbc ,使用者只需关注 sql 本身即可,而无需关注 驱动,链接 等繁杂的操作过程;mybatis 通过 xml 或注解将要执行的 statement 进行封装,并通过 Java 对象和statement 的参数进行映射成最终要执行的 sql 语句,最后由 mybatis 执行 sql 语句并将执行结果映射为 Java 对象并返回,采用 ORM 思想解决了实体和数据表映射的问题,对 jdbc 进行了封装,屏闭了 jdbc.api 的访问细节,开发者无需和 jdbc.api 打交道就可以轻松对 数据进行 CRUD;

 1.5、MyBatis 入门

1、Mybatis 环境搭建
第一步、创建 Maven 项目,并导入相关 jar 包:

<!-- 配置 打包方式-->
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.5</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.8</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.12</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
</dependencies>

第二步、创建 实体类和 DAO 接口
User.class

public class User implements Serializable {
    private Integer id;
    private String username;
    private Date birthdat;
    private String sex;
    private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Date getBirthdat() {
        return birthdat;
    }

    public void setBirthdat(Date birthdat) {
        this.birthdat = birthdat;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", birthdat=" + birthdat +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                '}';
    }

IUserDao,class

public interface IUserDao {
    //查询所有用户
    List<User> getAll();
}

第三步、创建 Mybaits 主配置文件
SQLMapCOnfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis 主配置文件 -->
<configuration>
    <!-- 配置环境 -->
    <environments default="mysql">
        <!-- 配置 mysql 黄静 -->
        <environment id="mysql">
            <!-- 配置使用事务类型  -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源 -->
            <!-- 配置数据库基本信息 -->
            <dataSource type="POOLEDs">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://192.168.31.129:3306/test"/>
                <property name="username " value="root"/>
                <property name="password" value="521hui"/>
            </dataSource>
        </environment>
    </environments>
    <!--  指定配置文件位置, -->
    <mappers>
        <mapper resource="org/wdh01/dao/IUserDao.xml"></mapper>
    </mappers>
</configuration>

第四步、创建 IUserDao.xml mapper 文件
IUserDao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.wdh01.dao.IUserDao">
    <!-- 配置查询所有 -->
    <select id="getAll" >
        SELECT * FROM USER
    </select>
</mapper>

2、Mybatis 环境搭建注意事项

  • 创建 IUserDao.xml 和 IUserDao.java 名称需要保持一致,在Mybatis 中 把 接口和 映射文件统称为 Mapper,所以 IUserDao 和 IUserMapper 一样;
  • IDEA 创建目录和包不一样,org.wdh01.domain 创建包是三级包名,org.wdh01.domain 创建包是三级目录
  • Mybatis 接口和Mapper 文件目录结构必须保持一致;
  • Mapper 文件的 namespace 属性必须是对应 DAO 接口的全类名;
  • Mapper 文件对应的 select 标签 ID 必须是 DAO 查询方法的方法名;

现在环已经好了,一起开始学习吧

 

推荐阅读