1、先看看俩种调用方式

  1. public static void main(String[] args) {
  2. SqlSessionFactory sqlSessionFactory;
  3. SqlSession session = null;
  4. try {
  5. String resource = "mybatis-config.xml";
  6. InputStream inputStream = Resources.getResourceAsStream(resource);
  7. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  8. session = sqlSessionFactory.openSession();
  9. HashMap<String,String> result = session.selectOne("selectBlog", 110);
  10. System.out.println("Result: "+result);
  11. } catch (Exception ex) {
  12. ex.printStackTrace();
  13. } finally {
  14. if(session != null){
  15. session.close();
  16. }
  17. }
  18. }

  

  1. public static void main(String[] args) {
  2. SqlSessionFactory sqlSessionFactory;
  3. SqlSession session = null;
  4. try {
  5. String resource = "mybatis-config.xml";
  6. InputStream inputStream = Resources.getResourceAsStream(resource);
  7. sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  8. session = sqlSessionFactory.openSession();
  9. ReleaseDTOMapper mapper = session.getMapper(ReleaseDTOMapper.class);
  10.  
  11. HashMap<String,String> param = new HashMap<String,String>();
  12. param.put("STATE", "N");
  13. param.put("UPGRADE_ID","2");
  14. HashMap<String,String> result = mapper.getReleaseNote(param);
  15. System.out.println("Result: "+result);
  16. List<HashMap<String,String>> rs = mapper.getUpgradeNote();
  17. for(HashMap<String,String> r : rs){
  18. System.out.println("Result: "+r);
  19. }
  20. } catch (Exception ex) {
  21. ex.printStackTrace();
  22. } finally {
  23. if(session != null){
  24. session.close();
  25. }
  26. }
  27. }

  

2 整体结构

其他知识点

mybatis 一二级缓存

Spring-mybatis 缓存失效问题

ref

https://blog.csdn.net/Vera1114/article/details/78763322

https://www.jianshu.com/p/73ee8caddc68

https://baijiahao.baidu.com/s?id=1595688310049388329&wfr=spider&for=pc

http://www.crazyant.net/2022.html

https://blog.csdn.net/chenyao1994/article/details/79233725

源码学习之mybatis的更多相关文章

  1. 源码学习之MyBatis的底层查询原理

    导读 本文通过MyBatis一个低版本的bug(3.4.5之前的版本)入手,分析MyBatis的一次完整的查询流程,从配置文件的解析到一个查询的完整执行过程详细解读MyBatis的一次查询流程,通过本 ...

  2. mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

    相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...

  3. 【mybatis源码学习】mybatis和spring框架整合,我们依赖的mapper的接口真相

    转载至:https://www.cnblogs.com/jpfss/p/7799806.html Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注 ...

  4. mybatis源码学习(二)--mybatis+spring源码学习

    这篇笔记主要来就,mybatis是如何利用spring的扩展点来实现和spring的整合 1.mybatis和spring整合之后,我们就不需要使用sqlSession.selectOne()这种方式 ...

  5. 【mybatis源码学习】mybatis的参数处理

    一.mybatis的参数处理以及参数取值 1.单个参数 mybatis不做任何处理 取值方式: ​ #{参数名/任意名} <!-- Employee getEmpById(Integer id) ...

  6. 【mybatis源码学习】mybatis的插件功能

    一.mybatis的插件功能可拦截的目标 org.apache.ibatis.executor.parameter.ParameterHandler org.apache.ibatis.executo ...

  7. 【mybatis源码学习】mybatis的结果映射

    一.mybatis结果映射的流程 二.mybatis结果映射重要的类 1.org.apache.ibatis.executor.resultset.ResultSetWrapper(对sql执行返回的 ...

  8. 【mybatis源码学习】mybatis的反射模块

    一.重要的类和接口 org.apache.ibatis.reflection.MetaClass//对于javaBean的calss类进行反射操作的代理类(获取属性的类型,获取属性的get,set方法 ...

  9. 【mybatis源码学习】mybatis的sql语句映射

    一.重要的接口和类 org.apache.ibatis.scripting.LanguageDriver //语言驱动org.apache.ibatis.scripting.xmltags.XMLLa ...

随机推荐

  1. django跨域请求问题

    一 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之 ...

  2. django的RestFramework模块的源码分析

    一.APIView源码分析 查看源码的前提要知道,找函数方法必须先在自己的类中找,没有再往父类找,一层一层网上找,不能直接按ctrl点击 在我们自己定义的类中没有as_view方法的函数,所以肯定是继 ...

  3. haploview出现“results file must contain a snp column”的解决方法

    将plink文件用“--recode HV ”的参数生成即可 /software/plink --file yourfile --recode HV --snps-only just-acgt --o ...

  4. 洛谷 P1879 玉米田(状压DP入门题)

    传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 相关变量解释: int M,N; int plant[maxn][maxn];/ ...

  5. macs 学习

    点击 首先andriomianfest主配文件(主要配置文件),来启动主要的activity对象,然后通过该对象调用create方法来加载布局文件xml active通过布局文件的控件生成相应的对象. ...

  6. selinux 的使用

    SELinux 的启动.关闭与查看 1,并非所有的 Linux distributions 都支持 SELinux 的 目前 SELinux 支持三种模式,分别如下: •enforcing:强制模式, ...

  7. qml: C++调用qml函数

    C++调用qml函数,是通过下面的函数实现的: bool QMetaObject::invokeMethod(QObject *obj, const char *member, Qt::Connect ...

  8. Java实现单词树(trie)

    package com.shundong.utils; import java.util.ArrayList; import java.util.Iterator; import java.util. ...

  9. bzoj1040 基环树森林dp

    https://www.lydsy.com/JudgeOnline/problem.php?id=1040 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社 ...

  10. qemu与libvirt编译与安装

    qemu与libvirt编译与安装 一 .qemu编译前准备 以下链接为的本次编译环境为前提继续进行. http://www.cnblogs.com/grglym/p/7891253.html 1.安 ...