一文带你快速搭建框架

217 阅读2分钟

本文正在参加「金石计划 . 瓜分6万现金大奖」

一.概述

1.简介

  • MyBatis是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录

2.maven构建

  • 将MyBatis相关依赖导入项目,pom.xml添加如下配置

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.7</version>
    </dependency>
    
  • 将Mysql相关依赖导入

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.37</version>
    </dependency>
    
  • 将Junit相关依赖代入

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    
  • 将log4j相关依赖导入

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    

    log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
            <param name="Encoding" value="UTF-8" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS}%m (%F:%L) \n" />
            </layout>
        </appender>
        <logger name="java.sql">
            <level value="debug" />
        </logger>
        <logger name="org.apache.ibatis">
            <level value="info" />
        </logger>
        <root>
            <level value="debug" />
            <appender-ref ref="STDOUT" />
        </root>
    </log4j:configuration>
    

二.相关概念

1.Mapper接口

MyBatis中的mapper接口相当于以前的dao。但是区别在于,mapper仅仅是接口,我们不需要提供实现类。

  • Mapper接口的取名应该是和映射文件名保持一致

  • 比如,某个实体类User,它的Mapper接口如下:

    public interface UserMapper{
        int insert();
    }
    
  • 在Mapper接口中可以提供一些抽象方法,用于增删改查

2.ORM思想

  • ORM是指(Object Relationship Mapping)对象关系映射

  • 其中

    • 对象:Java的实体类对象
    • 关系:关系型数据库
    • 映射:二者之间的对应关系
  • 体现

    Java概念数据库概念
    属性字段/列
    对象记录/行

    三.映射配置文件

1.文件结构

  • 命名规则:数据库表对应的类名+Mapper.xml

  • 一个映射文件对应一个实体类,对应一个表中的操作

  • 映射文件主要用于编写SQL、访问以及操作表中的数据

  • 映射文件存放位置是maven工程下的src/main/resources/mappers目录下

  • 映射配置文件要保证两个一致

    • mapper接口的全类名和映射文件的命名空间namespace保持一致
    • mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致
  • 映射文件的简易结构如下

    <?xml version="1.0" encoding="UTF-8" ?>
    <!--DTD约束-->
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="Mapper接口全类名">
        <!--映射语句-->
        <insert id="Mapper接口方法名">
            SQL语句
        </insert></mapper>
    

2.映射配置文件标签详解

  • 标签

    • 用于书写插入数据的SQL语句

    • id属性指定对应mapper接口的方法名

    • 范例

      <insert id="insertUser">
          SQL语句
      </insert>
      
  • 标签

    • 用于删除表中的数据

    • id属性指定对应mapper接口的方法名

    • 范例

      <delete id="deleteUser">
          SQL语句
      </delete>
      
  • 标签

    • 用于更新表中数据

    • id属性指定对应mapper接口中的方法名

    • 范例

      <update id="updateUser">
          SQL语句
      </update>
      
  • 本期分享到此为止,有兴趣的小伙伴可以加v :lj1727259084,一起谈论技术~~