【javaweb】极客之mybatis

mybatis单独拿一章出来讲解,足见重要性,使用比较简单,大概过下即可。

  • Mybatis

  1. 使用了Apache的lib包

  2. 可以在log4j里面配置日志输出级别

  3. 工作流程:读取配置文件,生成sqlsessionfactory,进而建立sqlsession。

  4. 前者的生命周期是程序级别的,后者是每一个sql级别的

  5. 两个配置,一个是db的基础设置,一个是Map的设置,每一个sql的名字对应一个具体的sql。java通过配置文件读取具体的sql,有入参parametertype,出参resultset

  6. 自己建立一般是pojo类,对sql的处理类

  7. 基础操作

  1. 增删改,除了map配置的方法,还有一种接口的方式,注解的方式

  2. 查询语句:入参可以是hashmap类型,parametertype可以是一个类名,可以说是对象

  1. 查询返回是个list,使用selectlist

  2. resultmap和result type只能有一个,区别是resultmap用来处理比较复杂的映射,但又不能简单的用对象表示,定制化返回用map

  • 事务处理:写在基本配置里面,transactionmanager配置type是jdbc还是managed,后者是Spring的

  1. 首先open session设置为false

  2. 打开会话,事务开始

  3. 提交会话,事务提交

  4. 关闭会话,释放资源

  • 联合查询和子查询,都可以达到目的,区别是,联合查询一次查询,占用资源大。后者是N+1查询,可能更慢。但是注意MYBATIS是有懒加载的功能设置,在别名设置之前,设置了之后是只有用到某个子查询的时候才会去加载,节省了时间和资源。

  • mybatis动态SQL。

    1. if和choose就是在SQL根据入参的不同,选择不同的AND查询或则和UPDATE条件

    2. where标记,就是智能去掉and,update智能去掉逗号,trim智能用前缀后缀,前置后置等,可以替代where等

    3. foreach,循环查询in标识符,insert也可以,相当于批量赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值