




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、day01 mybatis入门课程计划:orm - jdbc封装1、 原生jdbc开发问题的总结2、 mybatis的介绍和原理3、 mybatis的入门程序(CRUD)4、 mybatis两种dao的开发方式5、 mybatis的全局配置文件1 原生jdbc开发的问题总结1.1 准备条件1.1.1 导入jar数据库驱动包1.1.2 数据执行sql脚本。1.2 编码1.3 jdbc开发存在的问题1、 数据库连接的频繁获取与释放-à造成数据库吞吐量过大-à降低数据的性能-à从而降低了APP的性能;2、 结果集的不易处理;3、 传递的参数类型比较单一4、 硬编码问题
2、- 程序不灵活l 查询条件l 查询条件的值l 显示的列l sql语句1.4 解决问题1、 通过数据库连接池:c3p0、dbcp、druid(阿里)2、 手动处理3、 手动处理4、 硬编码-抽取出来-à数据的表维护、xml维护sql语句-解析xml并执行其中sql语句- mybatis可以完成这个操作。orm框架-àjdbc封装-à简化了我们开发(面向对象)2 mybatis的介绍和框架原理2.1 介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code
3、,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)2.2 hibernate框架原理执行流程:*.hbm.xml(映射文件)-àhibernate.cfg.xml(全局配置文件)-àconfiguration加载全局配置文件-à会话工厂(SessionFactory)-à会话(session)-à有了一切(API的调用,注意:如果是增
4、、删、改:开始事务并且提交事务)。orm框架:数据的表-pojo相互映射。2.3 mybatis的框架原理mybatis:也是orm框架执行流程:映射文件(编写sql语句)-à全局配置文件(加载映射文件、配置延迟加载)-àSqlSessionFactoryBuilder(加载全局配置文件)-àSqlSessionFactory(会话工厂)-àSqlSession(会话)-API调用(注意:增、删、改需要提交事务。)3 mybatis入门程序3.1 需求1、 根据id查询用户信息2、 根据username模糊查询用户信息3、 添加用户4、 修改用户5、 删
5、除用户3.2 准备工作3.2.1 导入jar3.2.2 编写全局配置文件3.2.3 编写日志文件3.3 根据id查询用户信息3.3.1 分析1、 查询条件-id2、 返回结果-object-user3.3.2 创建user对象3.3.3 编写映射文件3.3.4 加载映射文件3.3.5 编码测试3.4 根据username模糊查询用户信息3.4.1 编写映射文件3.4.2 编写测试代码3.4.3 sql注入3.5 添加用户3.5.1 编写映射文件3.5.2 编写测试代码3.5.3 mysql数据库引擎分配自增id的策略:先分配,后使用。不管之前的操作是否成功或失败,分配的id不会回收(回滚。)3
6、.6 获取返回自增主键的id3.6.1 使用场景3.6.2 编写映射文件3.6.3 编写测试代码3.6.4 使用uuidSELECT UUID()执行该条sql。3.7 根据id修改用户3.7.1 编写映射文件3.7.2 编写测试代码3.8 根据id删除用户3.8.1 编写映射文件3.8.2 编写测试代码4 mybatis的两种dao的开发方式4.1 三个对象4.1.1 SqlSessionFactoryBuilder作用:加载mybatis的全局配置文件-à获取会话工厂使用范围:作为局部变量使用。相当于工巨类4.1.2 SqlSessionFactory作用:生成会话使用范围:只存
7、在一份该对象的实例-可以通过单例来维护该对象4.1.3 SqlSession作用:操作API使用范围:作为局部变量是使用sqlsession的创建过程:4.2 传统dao的开发4.2.1 步骤编写接口、实现类4.2.2 编写接口4.2.3 编写实现类4.2.4 编码测试4.3 通过mapper代理开发dao4.3.1 步骤以及规范1、 只需要编写接口2、 namespace:接口的全类路径名称3、 id:必须与接口的方法名保持一致4、 接口方法的参数类型必须与映射文件保持一致5、 接口方法的返回值类型必须与映射文件保持一致4.3.2 编写接口4.3.3 编写映射文件4.3.4 加载到全局配置文
8、件中4.3.5 编码测试4.3.6 使用的是哪种代理-jdk代理1、 jdk代理:面向接口,称为动态代理2、 cglib代理:面向实体类,称为静态代理5 mybatis的全局配置文件5.1 标签properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers??:代表0个或者一个*:代表0个或者多个大部分情况这些标签都是有顺序的。5.2 properties作用:加载外部资源文件注意:5.3 typeAliases作用:设置别名5.3.1 单个别名的设置5.3.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文阅读教学创新设计案例
- 酒店房务管理操作规程
- 电子商务交易安全风险评估
- 2025年国家开放大学(电大)《心理咨询与辅导技能》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《环境工程学》期末考试备考试题及答案解析
- 2025年国家开放大学《商务沟通与礼仪》期末考试备考试题及答案解析
- 九年级体育教学计划详细说明
- 物流行业员工营养膳食保障体系建设
- 2025年国家开放大学《劳动与社会保障》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《自然灾害防治与管理》期末考试备考试题及答案解析
- 信息运维服务管理规范标准
- 新教材2025-2026学年人教版(2024)美术二年级上册全册(教学设计)教案
- 水运工程监理旁站方案(3篇)
- 2025教科版三年级科学上册教学计划、教学设计(附目录)
- 木质素降解微生物促进秸秆饲料化营养价值提升的机制研究
- 全科医学进修汇报
- 六年级下学期英语期末考试质量分析
- 三基培训及知识课件
- 监控运维:方案与实施
- 新疆博物馆课件介绍
- 油库消防培训课件
评论
0/150
提交评论