首页

Mybatis 通过解析 XML 和 mapper 接口上的注解,生成 MappedStatement 实例
SqlSource是整个MappedStatement的核心
RawSqlSource     只有 #{} 或者 没有标签的纯文本sql信息
DynamicSqlSource 包含 ${} 或者 具有动态sql标签的sql信息
StaticSqlSource  是DynamicSqlSource和RawSqlSource解析为BoundSql的一个中间环节
BoundSql 表示动态生成的SQL语句以及相应的参数信息
SqlSource的getBoundSql方法,传入的就是parameterMappings相对应的参数,最终生成BoundSql对象,有了BoundSql就可以执行sql语句了
Mybatis三种基本的Executor:SimpleExecutor ReuseExecutor BatchExecutor
1. SimpleExecutor
每次执行开启一个Statement对象,用完立刻关闭Statement对象
2. ReuseExecutor
以sql作为key查找Statement对象,存在就使用,不存在就创建,用完后缓存复用
3 BatchExecutor
将所有sql都添加到批处理中(addBatch()),等待统一执行(executeBatch()),它缓存了多个Statement对象
MyBatis两种使用方式
1. 基于statementId
SqlSession session = sqlSessionFactory.openSession();
session.xxx(statementId,parameterObject)
2. 基于mapper接口 
SqlSession.getMapper(XXXMapper.class)
根据接口声明,通过动态代理生成一个Mapper实例
底层基于第一种方式调用
MyBatis通过传入的参数值,使用OGNL表达式来动态构造SQL语句,具备很强的灵活性和扩展性
DataSourceUtils 是 Spring 框架中的一个辅助类,主要用于从数据源(DataSource)获取 JDBC 连接,
并提供了一些便捷的方法来管理这些连接。这个类的使用可以简化 JDBC 代码的编写,并确保事务管理的一致性。
MyBatis 3.x 版本提供了4个动态注解,用于编写动态SQL ,
@SelectProvider @InsertProvider @UpdateProvider   @DeleteProvider   ,
@SelectProvider(type = UserSqlBuilder.class, method = "buildGetUserByIdSql")
public UserInfo getUserById(@Param("userId") int userId);
打羽毛球的好处:
提高反应能力和判断力,使大脑得到充分锻炼;
提高心肺功能,增强心血管系统和呼吸系统的功能;
提高身体代谢率,促进脂肪燃烧,减重保持体形;
需要快速追踪高速飞行的羽毛球,锻炼眼力,预防近视;
跳跃和伸展动作有助于促进身高增长;
增强全身的血液循环,舒筋活血,预防颈椎病和肩周病
每日一曲
《新龙门客栈》 主题曲 《难以抗拒》
人生总是风风雨雨
人海茫茫总是毫无头绪
早已忘了为何相依相聚
漂泊的路也忘了恐惧
思念已经无路可去
偏偏缘份总是散了又聚
悲欢离合到底何从何去
爱总是反反覆覆难以抗拒
羽毛球击球和发力时机很重要,击球的那一瞬间发力就会产生非常通透的力量
Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内存分页,而非物理分页。
分页插件的基本原理是使用 Mybatis 提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的 sql,
然后重写 sql,根 据 dialect 方言,添加对应的物理分页语句和物理分页参数。

第一页 上一页 下一页 最后一页