• mybatis小总结


    mybatis是一个持久层的框架,是一个不完全的orm框架。sql语句需要程序员自己去编写,但是mybatis也有映射(输入参数映射,输出结果映射)

    mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语句上,对sql语句优化比较方便,适用于需求变化比较多的项目,比如互联网项目。

    mybatis执行过程

    1、配置mybatis的配置文件 SqlMapConfig.xml(名称不固定)

    2、通过配置文件加载mybatis的运行环境,创建SqlSessionFactory会话工厂

    SqlSessionFactory在实际使用师按单例方式

    3、通过工厂创建SqlSession会话

    SqlSession是面向用户接口(提供操作数据库的方法),实现对象是线程不安全的,建议SqlSession使用场合在方法体内。

    4、调用SqlSession的方法来操作数据库

    如果需要提交事务 需要执行SqlSession的commit()方法

    5、关闭SqlSession( 释放资源)

    mybatis开发dao的方法:

    1、原始dao方法

      需要程序员编写dao接口和实现类

      需要在dao实现类中注入SqlSessionFactory工厂

    2、Mapper代理的开发方法 mybatis特有的方法(建议使用)

      只需要程序员编写Mapper接口(dao接口)

      程序员在编写mapper.xml(映射文件)和mapper.java 需要遵循一个开发规范:

      1、在mapper.xml中的namespace就是mapper.java的全路径

      2、mapper.xml中的statement的id和mapper.java中的方法名一致

      3、mapper.xml中的parameterType中的类型和mapper.java中的方法中的参数一致

      4、mapper.xml中的resultType中的类型和mapper.java中的方法返回值一致

    SqlMapConfig.xml文件可以配置properties、别名、mapper加载...

    输入映射:

      parameterType:指定输入参数类型,可以是简单、pojo、hashmap。。

      对于综合查询 建议parameterType的类型使用包装pojo,有哦利于系统扩展

    输出映射:

      resultType:查询到的列名和pojo的属性名一致才可以映射成功

      resultMap:可以通过resultMap完成高级和复杂的映射 如果查询到的列名和最终的pojo的属性名不一致时,就可以通过resultMap设置列名和属性名的对应关系(映射关系) 完成映射

        高级映射:

          将关联查询的列映射到一个pojo中(一对一)

          将关联查询的列映射到一个List<pojo>中(一对多)

    动态sql:

      if判断

      where

      foreach

      sql片段

  • 相关阅读:
    修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
    Using svn in CLI with Batch
    mysql 备份数据库 mysqldump
    Red Hat 5.8 CentOS 6.5 共用 输入法
    HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver
    变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
    RedHat 5.6 问题简记
    Weblogic 9.2和10.3 改密码 一站完成
    ExtJS Tab里放Grid高度自适应问题,官方Perfect方案。
    文件和目录之utime函数
  • 原文地址:https://www.cnblogs.com/mrluotong/p/5881287.html
Copyright © 2020-2023  润新知