• MyBatis(二)--基本使用


    一 增删改查XML配置

    注:下方是一些描述,具体执行继续往下看

    1.如同上一篇文章所说,可以将XML配置文件看做一个类,namespace看做类的全地址,而无论是update还是select都看作是个方法,id看做方法名,可以设置paramterType与resultType控制返回类。。

    2.不使用动态代理的情况下,能有一个参数,不过参数可以是map,可以是list,也可以是基本类型与Object衍生类。

    二 增删改查Java代码实现

    1.工具类的创建

    (1)工具类中使用单例模式(懒汉式)来创建一个SqlSessionFactory对象(这里是必要的,不然会衍生出一些问题),如果不是同样的工厂创建Mapper是不一样的,这点会导致缓存信息错乱

    (2)SqlSession是 一个重型的对象,使用后需要关闭,所以不建议单例SqlSession。

    2.增删改

    (1)第一个参数是全路径到方法(可以说方法的全路径名),第二个参数是方法的参数,当传入user,map时,可以直接使用key值或者属性名调用,而是基本类型或者String时可以0 

    (2)增删改的操作不必多说,没什么变化,根据传入的参数对数据做出Update操作,并且返回一个int值

    (3)SqlSession内部通过Executor来执行Sql操作,而Executor由Config(总配置文件),Transaction(事务)生成,所以这些语句是以事务的方式执行的,需要手动调用Commit()提交

    (4)如果需要自动提交事务,则在工具类中在工厂调用openSession方法的时候加入参数(true)(默认为false)。

    (5)事务的回滚由MyBatis自行完成,当事务执行失败时。

    3.查

    (1)查询操作与前面类似,第二个参数为传入方法参数,可以将一些限制sql的条件参数放入其中

    (2)select语句不会修改数据本质上是query方法的衍生,所以不需要作为事务处理(没有安全性需要考虑),MyBatis默认为提交(或许吧)

    (3)select可以在resultType规定返回值类型,select方法中又分为selectMap,selectList,selectOne,One适用于单条数据查询,List用于多条数据查询。

    (4)Map必须选择第二个参数作为设定一个列为Map的key值,不用太纠结,没啥用

  • 相关阅读:
    Cocos Creator 图集 (TexturePacker、自动图集功能 、压缩纹理)
    Cocos Creator 下载不同版本引擎
    Cocos Creator 源码 (位置,阅读、修改)
    Laya3D Unity商店免费下载3D资源使用(Unity插件支持哪些导出)
    三 Laya3D 加载资源 (场景/预设/模型网格/材质/动画文件/贴图/粒子)
    二 Laya3D github demo下载并使用
    一 Laya3D Unity下载和插件安装
    AndroidUI设计之布局-详细解析布局实现
    Android 监听ScrollView的滑动
    【Android进阶】Android程序与JavaScript之间的简单调用
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/11028201.html
Copyright © 2020-2023  润新知