zoukankan      html  css  js  c++  java
  • 16_MyBatis中期小结

    【MyBatis是什么】

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

      MyBatis让开发人员将经历放在sql语句上,对sql语句优化非常方便,适用于需求变化较多的项目,比如互联网的相关项目。

    【MyBatis框架执行过程】

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

    2.通过配置文件,加载myBatis运行环境,创建SqlSessionFactory会话工厂。SqlSessionFactory在实际使用时按单例方式。

    3.通过SqlSessionFactory创建SqlSession。SqlSession是一个面向用户接口(提供数据库方法),实现对象是线程不安全的,建议SqlSession应用场合在方法体内。

    4.调用sqlSession的方法去操作数据,如果需要提交事务,需要执行SqlSession的commit( )方法。

    5.释放资源,关闭SqlSession。

    【MyBatis开发Dao方法】

    一.原始dao的方法(iBatis/MyBatis)

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

      需要dao实现类中注入一个SqlSessionFactory工厂。

    二.mapper代理开发方法(MyBatis,建议使用)

      只需要程序员编写mapper接口。

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

      1.userMapper.xml中的namespace就是userMapper.java的类的全路径。

      2.userMapper.xml中statement的id和userMapper.java中方法名一致。

      3.userMapper.xml中statement的parameterType指定输入参数的类型和userMapper.java的方法输入参数类型一致。

      4.userMapper.xml中statement的resultType指定输出结果的类型和userMapper.java的方法返回值类型一致。

    【输入映射】

      parameterType:指定输入参数类型可以为简单类型、pojo、hashMap....

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

    【输出映射】

      resultType:查询到的列名和resultType指定的pojo的属性名一致。才能映射成功。

      resultMap:可以通过resultMap完成一些高级映射。

            如果查询到的列名和映射的pojo的属性名不一致时,通过resultMap设置列名和属性名之间的对应关系(映射关系)可以完成映射。

    【高级查询】

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

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

      

  • 相关阅读:
    SVN 主干(trunk)、分支(branch )、标记(tag)
    HTML的img标签:alt属性和title属性
    HTML的img标签:alt属性和title属性
    Eclipse远程调试Tomcat
    Eclipse远程调试Tomcat
    使用 Eclipse 远程调试 Java 应用程序
    使用 Eclipse 远程调试 Java 应用程序
    14.Windows 与 Linux 文件共享
    13.远程登录 Linux
    12.Linux 网络配置
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5778325.html
Copyright © 2011-2022 走看看