zoukankan      html  css  js  c++  java
  • mybatis工作原理及实现

     对数据库的连接 使用时就创建连接,不使用就立即释放,对数据库进行频繁连接开启和关闭,造成数据库的资源浪费,影响数据库的性能;

    解决办法:使用数据库连接池,管理数据库的连接。

    2 将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护,

    解决办法:把sql语句I定义到xml配置文件里;

    3 在向statement中设置参数,对站位符位置和设置参数数值,硬编码到java代码中,

    4 从result结果集中遍历数据时,存在硬编码,讲获取表的字段名硬编码,不便于维护,

    讲结果集 自动映射成java对象

    mybatis的架构

    是一个持久层的项目,是阿帕奇的顶级项目,

    通过 mybatis提供的映射方式,半自动的生成sql,大部分还是需要程序员编写sql

    核心:输入映射:可以将statement中的输入参数自动输入到映射 通过ongl表达式,将查询的结果集灵活映射成为java对象(输出映射)

    mybatis与hibernate的本质区别和应用场景

    hibernate:是一个标准的orm的框架,不需要程序员写sql语句sql自动生成,对sql优化 修改 比较困难的

      应用场景:适用于需求变化不多的,中小型项目,

    mybatis:专注的sql本身,sql的优化 修改比较方便;不完全的orm的框架,程序员自己写sql,但是实现了输入 输出映射;

         应用场景:适用于需求变化较多的项目,比如 互联网项目

  • 相关阅读:
    前端 一——介绍
    python知识点拾遗
    python 五——自定义线程池
    python 四——线程、进程、协程
    python 三——列表、字典、元祖、字符串、set
    动态规划法求解0-1背包
    贪心法求解背包问题
    学生成绩管理系统
    [C语言练习]学生学籍管理系统
    [C语言练习]万年历加强版
  • 原文地址:https://www.cnblogs.com/ChenD/p/7098859.html
Copyright © 2011-2022 走看看