mybatisday01课堂笔记Word格式.docx

上传人:b****3 文档编号:16845600 上传时间:2022-11-26 格式:DOCX 页数:16 大小:822.16KB
下载 相关 举报
mybatisday01课堂笔记Word格式.docx_第1页
第1页 / 共16页
mybatisday01课堂笔记Word格式.docx_第2页
第2页 / 共16页
mybatisday01课堂笔记Word格式.docx_第3页
第3页 / 共16页
mybatisday01课堂笔记Word格式.docx_第4页
第4页 / 共16页
mybatisday01课堂笔记Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

mybatisday01课堂笔记Word格式.docx

《mybatisday01课堂笔记Word格式.docx》由会员分享,可在线阅读,更多相关《mybatisday01课堂笔记Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

mybatisday01课堂笔记Word格式.docx

1、数据库连接的频繁获取与释放--→造成数据库吞吐量过大--→降低数据的性能--→从而降低了APP的性能;

2、结果集的不易处理;

3、传递的参数类型比较单一

4、硬编码问题---程序不灵活

●查询条件

●查询条件的值

●显示的列

●sql语句

1.4解决问题

1、通过数据库连接池:

c3p0、dbcp、druid(阿里)

2、手动处理

3、手动处理

4、硬编码---抽取出来-→数据的表维护、xml维护sql语句----解析xml并执行其中sql语句---mybatis可以完成这个操作。

orm框架-→jdbc封装--→简化了我们开发(面向对象)

2mybatis的介绍和框架原理

2.1介绍

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。

2013年11月迁移到Github。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。

iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)

2.2hibernate框架原理

执行流程:

***.hbm.xml(映射文件)

-→hibernate.cfg.xml(全局配置文件)

-→configuration加载全局配置文件

-→会话工厂(SessionFactory)

--→会话(session)--

→有了一切(API的调用,注意:

如果是增、删、改:

开始事务并且提交事务)。

orm框架:

数据的表-----pojo相互映射。

2.3mybatis的框架原理

mybatis:

也是orm框架

映射文件(编写sql语句)

--→全局配置文件(加载映射文件、配置延迟加载)

--→SqlSessionFactoryBuilder(加载全局配置文件)

--→SqlSessionFactory(会话工厂)

-→SqlSession(会话)

----API调用(注意:

增、删、改需要提交事务。

3mybatis入门程序

3.1需求

1、根据id查询用户信息

2、根据username模糊查询用户信息

3、添加用户

4、修改用户

5、删除用户

3.2准备工作

3.2.1导入jar

3.2.2编写全局配置文件

3.2.3编写日志文件

3.3根据id查询用户信息

3.3.1分析

1、查询条件----id

2、返回结果---object----user

3.3.2创建user对象

3.3.3编写映射文件

3.3.4加载映射文件

3.3.5编码测试

3.4根据username模糊查询用户信息

3.4.1编写映射文件

3.4.2编写测试代码

3.4.3sql注入

3.5添加用户

3.5.1编写映射文件

3.5.2编写测试代码

3.5.3mysql数据库引擎

分配自增id的策略:

先分配,后使用。

不管之前的操作是否成功或失败,分配的id不会回收(回滚。

3.6获取返回自增主键的id

3.6.1使用场景

3.6.2编写映射文件

3.6.3编写测试代码

3.6.4使用uuid

SELECTUUID()执行该条sql。

3.7根据id修改用户

3.7.1编写映射文件

3.7.2编写测试代码

3.8根据id删除用户

3.8.1编写映射文件

3.8.2编写测试代码

4mybatis的两种dao的开发方式

4.1三个对象

4.1.1SqlSessionFactoryBuilder

作用:

加载mybatis的全局配置文件--→获取会话工厂

使用范围:

作为局部变量使用。

相当于工巨类

4.1.2SqlSessionFactory

生成会话

只存在一份该对象的实例----可以通过单例来维护该对象

4.1.3SqlSession

操作API

作为局部变量是使用

sqlsession的创建过程:

4.2传统dao的开发

4.2.1步骤

编写接口、实现类

4.2.2编写接口

4.2.3编写实现类

4.2.4编码测试

4.3通过mapper代理开发dao

4.3.1步骤以及规范

1、只需要编写接口

2、namespace:

接口的全类路径名称

3、id:

必须与接口的方法名保持一致

4、接口方法的参数类型必须与映射文件保持一致

5、接口方法的返回值类型必须与映射文件保持一致

4.3.2编写接口

4.3.3编写映射文件

4.3.4加载到全局配置文件中

4.3.5编码测试

4.3.6使用的是哪种代理---jdk代理

1、jdk代理:

面向接口,称为动态代理

2、cglib代理:

面向实体类,称为静态代理

5mybatis的全局配置文件

5.1标签

properties?

settings?

typeAliases?

typeHandlers?

objectFactory?

objectWrapperFactory?

plugins?

environments?

databaseIdProvider?

mappers?

代表0个或者一个

*:

代表0个或者多个

大部分情况这些标签都是有顺序的。

5.2properties

加载外部资源文件

注意:

5.3typeAliases

设置别名

5.3.1单个别名的设置

5.3.2批量别名的设置

5.3.3默认支持的别名

5.4mappers

加载映射文件

5.4.1单个映射文件的加载

5.4.2通过接口加载单个映射文件----了解

规范:

1、接口名与映射文件名称必须一致

2、接口和映射文件在同一目录下

5.4.3批量映射文件的加载

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1