栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis学习记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis学习记录

1.1 Mybatis介绍

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射

Mysql入门实现步骤:

1.编辑mybatis-config.xml核心配置文件

1.1执行数据源配置

2.编辑POJO实体对象.要求与数据库表中的字段一一对应

3.编辑Mapper接口. 添加接口方法

4.编辑接口的实现类(配置文件方式) 要求namespace id resultType

5.mybatis加载指定的mapper映射文件

6.创建SqlSessionFactory工厂对象

7.获取SqlSession,开启数据库链接

8.获取接口对象(代理对象)

9.调用接口方法,获取返回值结果

10.关闭sqlSession链接.

2.1 ORM思想

对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。简单来说就是利用对象操作数据库

1. 对象应该与数据库中的表一一映射.

2. 对象中的属性应该与表中的字段一一映射.

3. 其中的映射应该由程序自动完成.无需人为干预.

JDBC的优缺点

弊端:

1. 无论如何执行都必须获取数据库链接. 链接池 c3p0 druid HK链接池

2. 操作sql语句时,步骤繁琐. 不便于学习记忆.

3. 资源必须手动关闭.

优点:

操作数据库最快的方式就是JDBC. 协议 TCP

mybaties

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。(mybatis在内部将JDBC封装).

MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

知识整理:

1.持久化 : 计算机在计算时,数据都在内存中.如果断电则数据清空,所以要求将内存数据保存到磁盘中. 概念.

2.持久层: 程序通过Dao/Mapper 与数据库进行交互的层级代码 (Controller层 Service层 Dao/Mapper层) 具体操作.

小结: Mybatis是一个优秀的持久层框架,基于ORM设计思想,实现了以对象的方式操作数据库.

了解: Mybatis的ORM并不完全,只完成了结果集映射,但是Sql需要自己手写.所以也称之为半自动化的ORM映射框架.

2. Mybatis框架总结

2.1 ORM思想

概括: 利用对象的方式封装数据库

核心规则:

对象与表一一映射.

对象的属性与表中的字段一一映射.

2.2 Mybaits框架介绍

小结: Mybatis是一个优秀的持久层框架,基于ORM设计思想,实现了以对象的方式操作数据库.

2.3 Mybaits使用步骤

2.3.1 导入jar包

课堂使用的是springboot整合mybatis的版本.但是使用其中的依赖包 3.5.7的版本.

2). mysql的驱动版本 mysql:mysql-connector-java:8.0.22

3). 驱动的配置: com.mysql.cj.jdbc.Driver

4). 高版本应该使用高版本数据库

2.3.2 编辑核心配置文件

数据库环境的配置

Mapper接口与xml映射文件的绑定关系.

2.3.3 创建接口/xml映射文件

说明: 接口与xml映射文件 一对一映射.

2.3.3 入门案例步骤

指定mybatis-config.xml的路径

读取指定的核心配置文件.

通过SelSessionFactoryBuilder.buid方法创建SqlSessionFactory.

获取SqlSession

获取Mapper的接口

从mapper接口文件中获取业务数据.

调用xml文件的Sql语句实现数据获取.

mybatis自动封装为对象返回 交给用户处理.

2.4 简化mybatis操作

注解: @BeforeEach 在执行@Test注解之前执行.

2.5 Mybatis的参数封装

1. 封装为实体对象 user对象

2. 更为常用的方式 Map集合

3. 如果传递的数据有多个,则可以使用注解@Param("sex") String sex 封装为Map.

2.6 #号 $符用法

使用#{} 获取数据时,默认有预编译的效果.防止sql注入攻击.

mybatis使用#{}获取数据时,默认为数据添加一对""号.

当以字段名称为参数时,一般使用${},但是这样的sql慎用. 可能出现sql注入攻击问题.

小结: 一般条件下能用#{}号,不用${}

1

2.7 mybatis转义字符

xml文件中的转义字符.

> > 大于

< < 小于

& & 号

说明:如果sql中有大量的转义字符 建议使用转义标签体

语法:

2.8 Mybatis集合写法

array

list

map

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号