zoukankan      html  css  js  c++  java
  • 0731 框架Mybatis

    summarize

    SSM框架:  SpringMVC(简化web)、Spring贯穿全场(管理整个项目所有对象的容器)、Mybatis(简化dao) 世面上还有一个框架 SSH:Struts2、Spring、Hirbernate

    MyBatis架构

    1.   Mybatis介绍

    MyBatis 本是apache的一个开源项目iBatis,10年这个项目由apache software foundation 迁移到了google code,改名为MyBatis 。2013年11月迁移到Github。

    Ibatis 来源于“Internet”和“abatis”的组合

          MyBatis是一个优秀的持久层框架(dao层),它对jdbc的操作数据库的过程进行封装,使开发者只需写SQL 语句,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等JDBC繁杂的过程代码。

    Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

    2.   使用jdbc编程问题总结

    ①、数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题。

    ②、Sql语句在代码中硬编码,造成代码不易维护,实际应用中sql变化的可能较大,sql变动需要改变java代码。所谓硬编码:dao层里有SQL语句和java代码,一个SQL对应一个方法,后期维护麻烦,Mybatis将他们分离

    ③、使用preparedStatement向占位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。

    ④、对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。 

    3.  Mybatis架构

     

    SqlMapConfig.xml  是MyBatis的核心配置文件

    下面的三个 xml,  一个表对应一个xml 

    SqlSessionFactory

    pm

    0

  • 相关阅读:
    洛谷 P1508 Likecloud-吃、吃、吃
    Codevs 1158 尼克的任务
    2017.10.6 国庆清北 D6T2 同余方程组
    2017.10.6 国庆清北 D6T1 排序
    2017.10.3 国庆清北 D3T3 解迷游戏
    2017.10.3 国庆清北 D3T2 公交车
    2017.10.3 国庆清北 D3T1 括号序列
    2017.10.4 国庆清北 D4T1 财富
    2017.10.7 国庆清北 D7T2 第k大区间
    2017.10.7 国庆清北 D7T1 计数
  • 原文地址:https://www.cnblogs.com/zs0322/p/11275339.html
Copyright © 2011-2022 走看看