zoukankan      html  css  js  c++  java
  • MyBatis(三)

    1.session.commit()为什么会引起事物的提交?

      先ctrl+鼠标左键点入commit方法中,然后ctrl+H找到DefaultSqlSession这个类,在这个类中找到如下的方法

    然后进入这个方法

    这里有一个逻辑关系表达式,运算的顺序是  &&  ||  !的顺序依次运算得到的结果是true,那么该方法的返回值是true

    所以执行器的提交,会引起事务的提交

    2.session.close()会引起事务的回滚?(同上述方法相似,一步一步往上一层找,就可以找到答案,看到它底层的代码)

    最终找到

    可以得到session.close()会引起事务的回滚

    3.resultMap结果映射

      在这需要注意的是resultType和resultMap不能同时存在(记住)

      它主要解决了什么问题呢?

      解决数据库表中Table中的字段和Java实体类中的字段名称不一致问题,需要我们手工映射

    以查询语句为例

    在小配置中首先添加一个节点<resultMap>

    在sql语句的节点中resultType属性要改为resultMap他的值为上面resultMap节点的id的值

    然后在大配置中也需要添加一个节点<settings>

    这个的属性值有三个:NONE,PARTIAL(默认),FULL

    4.添加后返回自增列的值

    实现的结果为

    5.多条件查询

    多条件查询有两种方式Map  和 根据索引

    首先第一种Map

    第二种 根据索引号Index

    6.智能标签

    智能标签有 if  where  foreach  list array

    (1)智能标签if where结合

    首先声明方法在接口中

    然后再小配置中添加节点

    最后编写测试类  测试方法

    (2)智能标签foreach array

    首先声明方法在接口中

    然后再小配置中添加节点

    最后编写测试类  测试方法

    (3)list<Integer>

    (4)list<自定义>

    7.util包:工具类

    首先要先创建一个util包,MyBatisUtil类

    MyBatisUtil类中

  • 相关阅读:
    追踪路由信息
    Windows Server 2008 R2远程桌面服务安装配置和授权激活
    CentOS 7 下挂载NTFS盘及开机自动挂载
    functools 之 partial(偏函数)
    Flask-WTForms 简单使用
    Flask-Session 简单使用
    通过decorators = [,] 的形式给类中的所有方法添加装饰器
    Python __dict__属性详解
    面向对象的 __slots__
    related_name和related_query_name举例区别
  • 原文地址:https://www.cnblogs.com/my-123/p/8469460.html
Copyright © 2011-2022 走看看