Mybatis(4)入门案例中设计模式分析
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)入门案例中设计模式分析相关推荐
- MyBatis-学习笔记02【02.Mybatis入门案例】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- mybatis的入门
mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 ...
- mybatis基于注解的入门案例
mybatis基于注解的入门案例: 把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句 同时需要在SqlMa ...
- Mybatis学习IDEA(1)-环境搭建以及入门案例
Mybatis的环境搭建: 第一步:创建Maven项目 new Project->Maven->next->GroupId(反写域名如:com.itheima)ArtifactID( ...
- MyBatis由浅入深学习总结之一:MyBatis入门案例
一.MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- MyBatis Plus简介和入门案例
简介 MyBatis-Plus(以下简称MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有 ...
- (spingboot入门案例)SpingBoot整合mybatis(mySql)
仅供参考 目录结构: 环境: idea,mysql(8.0.29) 1.新建项目 1. 2.Project SDK选择自己对应的java版本 url选第二个,使用阿里的镜像:http://start. ...
- idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例
上一篇文章已经搭建好了SSM的框架,并且启动成功,今天来编写一下入门案例. 文章的主要内容: 1.hello world的编写 2.引入log4j,在控制台打印sql 3.增删改查的编写 一.在mys ...
- [MyBatisPlus]入门案例
入门案例 创建测试数据库和表 CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use `mybati ...
最新文章
- centos安装Flash插件
- 第三周 数据分析之概要 Pandas库入门
- 【机器学习】机器学习中样本不平衡,怎么办?
- 如何选择你所需的×××产品
- python做大屏数据可视化_超强大!Python 可视化这款大屏就够了!
- android设置错误页面,Android ViewPager设置当前项目/页面时抛出IndexOutOfBounds异常
- 英语面试功略:英语口语突击法
- 不会日语也能在日本点菜 | 通用篇
- 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
- html5新增graph,Qunee for HTML5 - 中文 : Graph组件介绍
- java计算机毕业设计教务排课系统源码+mysql数据库+系统+lw文档+部署
- 解决solidworks导入stl文件就卡死的问题
- JAVA 字符串转数组并且进行遍历
- collect2: error: ld returned 1 exit status(解决方案大总结)
- 一遍搞定!关于如何已知后序和中序序列得到前序序列的问题
- 偏差-方差权衡(bias-variance-tradeoff)
- 【项目笔记_答题器】rp552d usb hid 在seewo win10 设备上启动无法识别
- python中图片转base64,再转html保存方法
- 嵌入式C语言编程规范
- 我辞退了一名核心高管:不躬身入局,不配做管理者