1.读配置文件

//1.读取配置文件,连接数据库的信息
InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");

采用绝对路径和相对路径均不可以,有两种方式可以采用

2.构建者模式,创建工厂

把对象的创建细节隐藏,使用者直接掉用方法可拿到对象

//2.创建SqlSessionFactory工厂,有了工厂可以生产和操作对象SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();SqlSessionFactory factory=builder.build(in);//builder就是创建者

3.工厂模式,创建SqlSession

优势:解耦类之间的依赖关系

//3.使用工厂生产SqlSession对象,可以操作数据库SqlSession session=factory.openSession();

4.代理模式,创建dao接口实现类

优势:不修改源码的基础上对已有方法增强

//4.使用SqlSesssion创建Dao接口的代理对象,使用代理对象(为了不去创建IUserDao的实现类,使用动态代理对象)IUserDao userDao=session.getMapper(IUserDao.class);//5.使用代理对象执行方法List<User> users=userDao.findAll();for (User user:users){System.out.println(user);}

Mybatis(4)入门案例中设计模式分析相关推荐

  1. MyBatis-学习笔记02【02.Mybatis入门案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  2. mybatis的入门

    mybatis的环境搭建 第一步:创建maven工程并导入坐标         第二步:创建实体类和dao的接口         第三步:创建Mybatis的主配置文件                 ...

  3. mybatis基于注解的入门案例

    mybatis基于注解的入门案例:             把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句             同时需要在SqlMa ...

  4. Mybatis学习IDEA(1)-环境搭建以及入门案例

    Mybatis的环境搭建: 第一步:创建Maven项目 new Project->Maven->next->GroupId(反写域名如:com.itheima)ArtifactID( ...

  5. MyBatis由浅入深学习总结之一:MyBatis入门案例

    一.MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  6. MyBatis Plus简介和入门案例

    简介 MyBatis-Plus(以下简称MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有 ...

  7. (spingboot入门案例)SpingBoot整合mybatis(mySql)

    仅供参考 目录结构: 环境: idea,mysql(8.0.29) 1.新建项目 1. 2.Project SDK选择自己对应的java版本 url选第二个,使用阿里的镜像:http://start. ...

  8. idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例

    上一篇文章已经搭建好了SSM的框架,并且启动成功,今天来编写一下入门案例. 文章的主要内容: 1.hello world的编写 2.引入log4j,在控制台打印sql 3.增删改查的编写 一.在mys ...

  9. [MyBatisPlus]入门案例

    入门案例 创建测试数据库和表 CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use `mybati ...

最新文章

  1. centos安装Flash插件
  2. 第三周 数据分析之概要 Pandas库入门
  3. 【机器学习】机器学习中样本不平衡,怎么办?
  4. 如何选择你所需的×××产品
  5. python做大屏数据可视化_超强大!Python 可视化这款大屏就够了!
  6. android设置错误页面,Android ViewPager设置当前项目/页面时抛出IndexOutOfBounds异常
  7. 英语面试功略:英语口语突击法
  8. 不会日语也能在日本点菜 | 通用篇
  9. 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
  10. html5新增graph,Qunee for HTML5 - 中文 : Graph组件介绍
  11. java计算机毕业设计教务排课系统源码+mysql数据库+系统+lw文档+部署
  12. 解决solidworks导入stl文件就卡死的问题
  13. JAVA 字符串转数组并且进行遍历
  14. collect2: error: ld returned 1 exit status(解决方案大总结)
  15. 一遍搞定!关于如何已知后序和中序序列得到前序序列的问题
  16. 偏差-方差权衡(bias-variance-tradeoff)
  17. 【项目笔记_答题器】rp552d usb hid 在seewo win10 设备上启动无法识别
  18. python中图片转base64,再转html保存方法
  19. 嵌入式C语言编程规范
  20. 我辞退了一名核心高管:不躬身入局,不配做管理者

热门文章

  1. Socket编程实践(7) --Socket-Class封装(改进版v2)
  2. 如何优雅地使用 VSCode 来编辑 vue 文件?
  3. linux与windows查看占用端口的进程ID并杀死进程
  4. Apple Cached Service 导致 iPhone app store无法下载程序
  5. Spring boot学习整理
  6. 操作系统---进程篇
  7. Atom飞行手册翻译: 3.4 文本处理包
  8. DrawTool画笔之图形笔
  9. 移动开发框架剖析(二) Hammer专业的手势控制
  10. SCCM 2012 R2---安装客户端代理软件