zoukankan      html  css  js  c++  java
  • 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语句,最后将结果赋予给对应的

  • 相关阅读:
    Sql优化思路
    「网络流随想随记」
    「ZJOI 的部分题解整理」
    「循环矩阵相关的一些东西」
    知识蒸馏
    3D Human Pose Estimation with 2D Marginal Heatmaps
    模型剪枝
    目标检测小网络
    selenium---解决clear方法失效
    selenium---快速跳转到指定元素
  • 原文地址:https://www.cnblogs.com/xiaoshazi/p/13138856.html
Copyright © 2011-2022 走看看