当前位置: 首页 > news >正文

网站建设教程ppt怎么优化自己网站

网站建设教程ppt,怎么优化自己网站,智慧团建个人注册,推广网站有哪些1. 什么是 MyBatis? MyBatis 是一款优秀的 持久层框架,它通过 XML 或注解配置,将 Java 对象(POJO)与数据库操作(SQL)进行灵活映射,简化了 JDBC 的复杂操作。 核心思想:S…
1. 什么是 MyBatis?

MyBatis 是一款优秀的 持久层框架,它通过 XML 或注解配置,将 Java 对象(POJO)与数据库操作(SQL)进行灵活映射,简化了 JDBC 的复杂操作。

  • 核心思想SQL 与代码分离,开发者可专注 SQL 优化,同时享受 ORM(对象关系映射)的便捷。

  • 定位:介于 JDBC 和全自动 ORM(如 Hibernate)之间的半自动化框架,灵活控制 SQL,适合复杂查询和高性能场景。


2. 核心特性
特性说明
动态 SQL支持条件分支(<if><choose>)、循环(<foreach>)等动态生成 SQL。
参数映射自动将 Java 对象属性映射到 SQL 参数(#{property})。
结果集映射将查询结果自动封装为 Java 对象(<resultMap>)。
缓存机制提供一级缓存(SqlSession 级别)和二级缓存(Mapper 级别)。
插件扩展支持自定义插件(如分页、日志),通过拦截器修改 MyBatis 核心行为。

3. 核心组件

    1.SqlSessionFactory

  • 作用:创建 SqlSession 的工厂类,全局唯一,通常由 SqlSessionFactoryBuilder 解析配置文件生成。

  • 配置来源:XML 文件(如 mybatis-config.xml)或 Java 代码。

    2.SqlSession

  • 作用:执行 SQL 操作、获取 Mapper 接口实例。非线程安全,需确保每次请求单独创建。

  • 关键方法

    <T> T getMapper(Class<T> type);  // 获取 Mapper 接口实例
    int insert(String statement, Object parameter);  // 直接执行 SQL

    3.Mapper 接口与 XML 映射文件

  • Mapper 接口:定义数据库操作方法,方法名与 XML 中的 SQL ID 对应。

  • XML 映射文件:编写 SQL 语句,配置参数/结果映射。

    4.Executor

  • 作用:SQL 执行器,处理缓存、事务、语句调度等核心逻辑。

  • 类型SimpleExecutor(默认)、ReuseExecutor(重用预处理语句)、BatchExecutor(批处理)。


4. 工作原理
  1. 配置加载

    • 解析 mybatis-config.xml,初始化数据源、事务管理器、Mapper 扫描路径等。

    • 加载 Mapper XML 文件或扫描 Mapper 接口,构建 SQL 映射关系。

  2. SqlSession 创建

    • 通过 SqlSessionFactory.openSession() 创建 SqlSession,内部包含 Executor 和事务控制。

  3. SQL 执行流程

    • Mapper 代理:通过动态代理(如 MapperProxy)将接口方法调用转发给 SqlSession。

    • SQL 解析:根据方法名找到对应的 SQL 语句,处理动态标签(如 <if>)。

    • 参数处理:将 Java 对象转换为 SQL 参数(ParameterHandler)。

    • SQL 执行:通过 Executor 执行 JDBC 操作,返回结果。

    • 结果映射:将 ResultSet 转换为 Java 对象(ResultSetHandler)。


5. 缓存机制
缓存级别作用范围生命周期开启方式
一级缓存SqlSession 级别随 SqlSession 关闭或清空默认开启
二级缓存Mapper 级别应用生命周期,可跨 SqlSession 共享XML 中配置 <cache/> 标签开启

6. 常见问题
  1. MyBatis 与 Hibernate 的区别?

    • MyBatis:半自动化,需手动写 SQL,灵活控制细节。

    • Hibernate:全自动化,通过 HQL 操作对象,适合快速开发。

  2. #{} 和 ${} 的区别?

    • #{}:预编译参数(防 SQL 注入),如 WHERE id = ?

    • **∗∗:字符串替换(慎用),如动态表名‘ORDERBY∗∗:字符串替换(慎用),如动态表名‘ORDERBY{column}`。

  3. 如何实现分页?

    • 物理分页:使用插件(如 PageHelper)或数据库方言(LIMIT)。

    • 内存分页:查询全部数据后在代码中分页(不推荐)。


7. 总结
  • 优势:灵活控制 SQL、动态 SQL 强大、性能优化空间大。

  • 适用场景:复杂查询、需深度优化 SQL、对数据库访问有精细控制需求的项目。

  • 学习路径:掌握 XML/注解配置 → 理解动态 SQL → 熟悉缓存机制 → 整合 Spring/Spring Boot。


http://www.dtcms.com/a/452607.html

相关文章:

  • 免费网站域名cn中建八局一公司总部
  • 网站固定头部吴江区桃源镇做网站
  • 南通免费建设网站2022新闻大事件摘抄
  • 做综合类网站好不好商河做网站多少钱
  • 北京房地产网站建设设计策划网站
  • 备案网站忘记密码要制作自己的网站需要什么
  • 池州网站建设哪家好公司网站是怎么制作和维护的
  • 做印刷广告的图片在哪个网站找做电影网站如何寻找资源
  • 装饰公司做网站宣传的是个好处四字母域名建设网站可以吗
  • 网站建设桔子科技自己做的视频网站视频加载慢
  • 酷炫网站源码做网站需要什么书
  • 做一个网站最低多少钱哪个公司的网络最好
  • wordpress黄页插件谷歌排名优化入门教程
  • 怎么用indesign做网站设计宁波江北区城市建设档案馆网站
  • wordpress站点临时关闭杭州营销策划有限公司
  • 网站建设的素材三类人不适合学编程
  • 集团网站建设高校信息化建设网站系统微信
  • 大企业网站建设哪里好网站怎么做下载功能
  • 织梦可以做家教网站吗wordpress标签大全
  • 合肥建设官方网站开发工具怎么用
  • 做彩网站wordpress 输出内容
  • 邵阳市建设工程造价管理站网站安居客看房网
  • js 捕获网站异常插件上海网站搜索排名
  • python3.5 做网站360优化大师官方下载最新版
  • 网站建设与管理自考本全国卷wordpress 小程序
  • 金色网站模板wordpress禁止ip
  • 赣州网站建设怎样专业积分商城网站制作
  • 建设社区网站有什么借鉴之处招聘网站收费标准对比图怎么做
  • 江西 网站制作网站开发硬件要求
  • 怎么做查询网站吗wordpress推荐