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,但是实现了输入 输出映射;

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

  • 相关阅读:
    虚拟机类加载机制详解
    简单了解Tomcat与OSGi的类加载器架构
    Java高并发编程(四)
    Java高并发编程(三)
    Java高并发编程(一)
    垃圾收集与几种常用的垃圾收集算法
    初识java内存区域
    vue2.0基础学习(1)
    git/github 生成密钥
    手机预览vue项目
  • 原文地址:https://www.cnblogs.com/ChenD/p/7098859.html
Copyright © 2011-2022 走看看