• 七.MyBaits基本操作,为什么session.commit()可以引起事物提交?ResultMap结果映射,执行添加后返回自增列的值,多条件查询,智能标签,工具类


    1.为什么session.commit()可以引起事务的提交?

    首先打开commit()源码,ctrl+H打开它的实现类DefaultSession,找到它的commit方法

    ctrl+左键executor,进入它的接口并打开它的实现类BaseExecutor

    在最底层的commit()方法里边进行了事务的提交,所以SqlSession.commit()方法可以引起事务的提交

    2.ResultMap结果映射

    为什么需要ResultMap?

    因为DB中的Table的列名和Java对象中的属性名不一致时需要手工映射

    ResultMap实现代码

    注:select标签中的resultMap和resultType不允许同时出现

    3.执行添加后返回自增列的值

    首先在insert节点中添加一个selectKey节点配置如下

    属性keyProperty的值要和实体类中的id属性一致

    4.多条件查询

    多条件查询可以使用Map集合查询,也可以使用索引号查询

    实体类实现代码

     5.智能标签

    智能标签分为:where ,if ,choose,foreach

    where if类似于多重if判断

    choose类似于switch结构

    foreachArray类型

    foreach<自定义>

    foreachList类型

  • 相关阅读:
    tcp粘包解决
    socket网络编程
    logging模块
    异常处理
    hashlib configparser模块
    列表推导式和生成器表达式和内置函数
    迭代器与生成器
    装饰器
    函数
    文件操作
  • 原文地址:https://www.cnblogs.com/xuchangqi1/p/8467538.html
Copyright © 2020-2023  润新知