MyBatis
其中:二中的2、3是使用的基本
一、概述:
什么是MyBatis
是一款优秀的持久层、框架,用于简化JDBC开发
MyBatis 本是 Apache 的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并改名为MyBatis。2013年11迁移到Github
官网:https://mybatis.org/mybatis-3/zh/index.html
持久层
负责将数据到保存到数据库的那层代码
JavaEE三层架构:表现层、业务层、持久层
框架
就是一个半成品的软件,是一套可重用的、通用的、软件基础代码模型
在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
二、学习
1、了解作用:
JDBC 缺点:
1、硬编码(字符串):
注册驱动 获取连接
定义SQL语句
2、操作繁琐:
手动设置参数
手动封装结果集
MyBatis简化:
硬编码 ---> 配置文件
操作繁琐 ---> 自动完成
MyBatis 免除了几乎所有的JDBC代码,以及设置参数和获取结果集的工作
2、MyBatis快速入门:
查询user表中所有数据
1、创建user表,添加数据
2、创建模块,导入坐标
3、编写MyBatis 核心配置文件 ---> 替换连接信息 解决硬编码问题
4、编写SQL映射文件 ---> 统一管理sql语句
5、编码
1、定义PoJo类
2、加载核心配置文件,获取 SqlSessionFactory 对象
3、获取 SqlSession 对象,执行SQL对象
4、释放资源
解决SQL映射文件的警告提示:
产生原因:IDEA和数据库没有建立连接,不识别表信息
解决方式:在IDEA中配置MySQL数据库连接
3、Mapper 代理开发:
目的:
解决原生方式中的硬编码
简化后期执行SQL
使用Mapper代理方式完成入门案例
1、定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
2、设置SQL映射文件的namespace属性为Mapper接口全限定名
3、在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
4、编码:
1、通过 SqlSession 的 getMapper方法获取 Mapper接口的代理对象
2、调用对应方法完成sql的执行
细节:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载
<mappers>
<!-- 加载sql的映射文件 -->
<!-- <mapper resource="com\itheima\mapper\UserMapper.xml"/>-->
<!-- Mapper代理方式 -->
<package name="com.itheima.mapper"/>
</mappers>
4、MyBatis 核心配置文件:
- configuration(配置)
- properties(属性)
- settings(设置)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境配置)
- environment(环境变量)
- transactionManager(事务管理器)
- dataSource(数据源)
- environment(环境变量)
- databaseIdProvider(数据库厂商标识)
- mappers(映射器)
<!-- 取别名 -->
<typeAliases>
<package name = "com.itheima.pojo"/>
</typeAliases>
注意:配置各个标签时需要遵守前后顺序。
标签:Mapper,映射,编码,简单,接口,了解,SQL,MyBatis From: https://www.cnblogs.com/fragmentary/p/17063641.html