【MyBatis小结】

提示:仅供参考


MyBatis

MyBatis是实现Java Bean和数据库映射信息结构的持久化框架,简化了JDBC内部操作,提供SqlSession调用操作数据库,还有数据缓存,分页插件等功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、JDBC执行Sql的步骤

  1. 加载JDBC驱动器
  2. 加载JDBC驱动
  3. 创建数据库连接,并注册到DriverManager中,一般使用Class.forName(string)
  4. 创建Statement或者PrepareStatement,发送Sql语句
  5. 访问ResultSet结果集
  6. 断开连接

二、分页原理与运行流程

1.运行流程

  1. 通过MyBatis配置文件,加载运行环境,创建SqlSessionFactory全局会话
  2. 通过SqlSessionFactory,创建SqlSession
  3. 通过SqlSession开启执行事务和Sql语句
  4. SqlSession调用Commit()
  5. 关闭SqlSession

2.分页原理

分页类型实现原理
物理分页分页Sql语句实现
逻辑分页通过游标实现,首先获得全部记录,由offset和limit截断记录
MyBatis分页实现原理
RowBounds原理同上逻辑分页
物理分页插件通过拦截器,拦截待执行Sql并重写Sql语句
  • 实现插件原理:实现Interceptor接口和intercept方法
  • 提供的插件接口:StatementHandler/ResultSetHandler/Executor/ParameterHandler
  • 自定义插件只能围绕这四个接口对象进行拦截

总结

给大家复习#{}和${}的区别?

  • ${}是字符串替换,直接替换成变量的值,会引起Sql注入
  • #{}是预编译处理,处理时替换成? , 由PrepareStatement调用set赋值
  • ${}灵活性更高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值