本文正在参加「金石计划 . 瓜分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,一起谈论技术~~