• Mybatis


     Mybatis流程图

    SqlSessionFactory对象

      可以理解为会话工厂,在整个项目中共享,是线程安全的。通过openSession方法创建SqlSession对象,该方法存在很多重载方式可以有参数可以无参数。

    SqlSession

      可以通过会话工厂产生,线程不安全。用来执行SQL,提供了丰富的方法来完成数据库的操作。

      Mybatis不会自动提交事务,需要手动提交。

      提交方式有两种:openSession(true)或者session.commit()

    1》 关于config配置

      文件名可以随意命名,习惯名称sqlMapConfig.xml

      主要配置3个内容:事务管理器,数据源信息,映射文件

     2》UserMapper.xml

      文件名可以随意命名,习惯的方式是: POJO对象名+Mapper.xml

      用来描述对应对象的信息,写大量表操作的SQL语句

      通过#{value}来获取值,value写的是属性的名字。

      命名空间namespace作为该映射文件的唯一标志

      映射文件里的配置要和代码中匹配,比如返回值类型,参数类型等等

       特殊:

      当SQL中有特殊字符<mybatis不能正常解析时,用<![CDATA[??]]>括起来就解决了

      <![CDATA[ and age<=#{age} ]]>

      

      两种方式都可以获取参数的值。

      推荐能用#不用$:

        •      #{  }   (推荐!)
    1. 相当于JDBC中的PreparedStatement 是经过预编译的,是安全的
    2. 会为参数自动拼接引号。
    3. 执行SQL效果:select * from user where userId=”1”  and pwd=”2”
        •      ${   }:
    1. 相当于JDBC中的Statement ,未经过预编译,仅仅是取变量的值,是非安全的,存在SQL注入。

        执行SQL效果:select * from user where userId=1  and pwd=2

     mybatis运行过程

      先创建工厂来解析config文件,工厂来创建会话,通过session会话来执行mapper中对应的sql语句,最后将结果赋予给对应的

  • 相关阅读:
    导入GooglePlay Services出现的一个错误
    在Linux下后台运行jar包文件
    android7.0闪退问题java.lang.SecurityException: MODE_WORLD_READABLE no longer supported
    从手机中扫描以com.xx.xxx 为前缀的apk包,使用列表的形式展现
    AS运行项目出现Error while Launching activity的错误
    Android——解决引入jar包和arr包时support.v7包的冲突
    Java知识点小记
    异步解压ZIP文件
    WP手机升级WIN10被PIN码锁定
    EXCEL 跨表比较数据
  • 原文地址:https://www.cnblogs.com/xiaoshazi/p/13138856.html
Copyright © 2020-2023  润新知