• 1,${}拼接符 与 #{}占位符 的区别
  • 2,xml映射中,传入多个参数:类,map,@param注解,${index}
  • 3,sqlsession,多级缓存
  • 4,基于jdk动态代理;

数据提交

假设我要往一个user表里插入一个新用户,操作上显示插入没问题,可是打开mysql查看,就是没插入进去。这里就涉及到Mybatis修改数据的提交问题。 开启自动提交 去看MyBatis的源代码可以发现 openSession() 方法有带参数为 autoCommit 的布尔值,也就是是否自动提交可以手动控制的。 当openSession(true),即括号内为true的时候,mybaits是可以自动提交修改后的数据的,这样上面提到的问题就会解决 当openSession(),即括号内为空(或false),为手动提交,需要最后调用 session.commit() 来完成数据更新操作。

会话释放

当调用完成之后,需要手动执行session.close(),将链接返还给连接池,否则会导致连接池耗尽。