zoukankan      html  css  js  c++  java
  • Mbatis是什么?怎么运行?

    一   .    Mybatis是什么?

                     Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有

    一些映射(输入参数映射,输出参数映射),Mybatis是一个不完全的ORM框架。在项目应用中成本较低

    不同于hib(成本较高) 在编写Mybatis中程序员只需要把精力放在sql语句上即可,Mybatis对sql

    语句的优化非常方便,而hibernate 对sql语句的变更较Mybatis差,所以Mybatis适用于需求变化较多

    的项目,比如互联网项目。(简化底层的sql)

    二   .   Mybatis框架的执行过程

                        1.配置mybatis配置文件,SqlmapConfig.xml(https://www.cnblogs.com/g2vbn/p/9345659.html)

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

    SqlSession(面向接口{原始的dao,Mybatis的mappper接口})SqlSession提供操作数据库的方法

                         3. 调用SqlSession的方法去操作数据库(增删改查......)

                         4.释放资源

    三    .   Mybatis开发dao层的方法:

                        Mybatis开发dao有两种方法

                              1.原始dao(需要程序员掌握,现在有的公司还在用)                

                                        需要编写dao接口的实现类 ,在dao实现类中注入SqlSessionFactory工厂

                               2.mapper代理开发()

                                         需要编写mapper接口(就是dao接口)

                                         程序员在编写mapper.xml和mapper.java时需要遵循开发规范:

                                                      (1)在mapper.xml中namespace就是mapper的类的全路经

                                                      (2) mapper.xml中statement的id鹅mapper.java中方法名一致

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

                                                      (4)mapper.xml中statement的resultType指定输出类型和mapper.java的方法返回值类型一致

    四。输入输出映射

                      1.输入映射 

                                  parameterType:指定输入参数类型的可以简单类型,pojo ,hashmap....

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

                        2.输出映射

                                    resultType:

                                          查询到的列名和resultType的属性名一致才能映射成功

                                    resultMap:

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

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

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

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

    五. 动态Sql

                       if判断   

                       where(去掉第一个and)

                       foreatch

                      sql片段

  • 相关阅读:
    poj 2186 && hdu 3836
    poj 2833 The Average
    hud 3062 Party
    论 ACM 与泡妞 (转载)
    poj 1064 Cable master
    poj Candies
    [转]人才流失的背后
    获取存储过程的ReturnValue值
    javascript js jquery获取元素位置代码总结
    【引用】xmlpath 操作 xml
  • 原文地址:https://www.cnblogs.com/g2vbn/p/9345656.html
Copyright © 2011-2022 走看看