本文主要是介绍JAVA学习笔记DAY9——Mybatis基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- MyBatis简介
- Mybatis快速入门
- MyBatis 原理
- ibatis方式和原理
- MyBatis方式和原理
- MyBatis 基本使用
- 向sql语句传参
MyBatis简介
一款持久层框架,前身为Apache的开源项目iBatis。
JDBC -> MyBatis -> Hibernate ,封装程度越来越高。
Mybatis快速入门
- 导入依赖
- 准备实体类
- 准备Mapper接口和MapperXML文件
xxxMapper 接口 即对应原先的 xxxDao接口,规定方法。
xxxMapper.xml 对应原先的 xxxDaoImpl 实现类,其中有接口对应方法的sql语句。
mapper接口不能重载。 - 准备MyBatis配置文件
链接数据库信息
mapper.xml位置
…… - 用MyBatis提供的api进行方法的调用
- 读取外部配置文件
- 创建sqlSessionFactory(全局保留)
- 创建sqlSession(每次业务创建一个,用完就释放)
- 获取接口的代理对象,调用 代理对象的方法。
- 提交事务(非DQL)和释放资源。
MyBatis 原理
MyBatis进行数据库crud是对ibatis的封装和优化。
ibatis方式和原理
-
xxxxMapper.xml:
namespace=“前缀标识”
<select id sql -
mybatis-config.xml:
数据库信息
功能开关
自定mapper.xml文件 -
sqlSession
MyBatis方式和原理
在ibatis基础上套个壳。
用Mapper.java接口,在sqlSession中的getMapper()传入,生成一个代理对象(jdk动态代理)。代理对象其中方法为:将类的权限符号获取;获取方法名;拼接成一个字符串;调用ibatis对应的方法。
MyBatis 基本使用
向sql语句传参
- mybatis-config.xml中中添加
-
- #{ key }:占位符+赋值
(推荐使用,可防止注入攻击,但仅能用于动态值) - ${ key }:字符串拼接
- #{ key }:占位符+赋值
这篇关于JAVA学习笔记DAY9——Mybatis基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!