IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> hand-mybatis-Day1 -> 正文阅读

[Java知识库]hand-mybatis-Day1

fastjson最好不要使用,bug多

推荐使用jackson

微服务的好处?微服务解决了哪种类型的问题

? ?以图书管理系统举例,该系统中包含了座位管理系统、图书管理系统、登录系统等等。平时这些系统中登录系统、座位管理系统的访问量很大。而图书的借阅系统其实访问量很少。如果我们做成一个单一的系统,那么当我们需要提高系统的高并发请求时,需要提高整个单一系统的并发量。但是如果我们将登录系统和座位管理系统抽出来形成两个单独的微服务,我们就只需要考虑小范围的大流量的情况。

使用账号密码登录公司的gitLab系统,老是显示访问拒绝,解决方法:使用SSH登录

为什么会使用mybatis?

1、使用传统的JDBC访问数据库

(1)使用JDBC访问数据库有大量重复的代码(比如注册驱动、获取连接、释放资源)

(2)JDBC自身没有连接池,会频繁的创建和关闭连接,效率低

(3)SQL是写死在程序中,一旦修改SQL,需要对类重新编译

(4)对查询SQL执行后的返回的ResultSet对象,需要手动处理,有时会特别麻烦

。。。

2、使用mybatis框架访问数据库:

(1)Mybatis对JDBC进行了封装,可以简化JDBC代码

(2)Mybatis自身支持连接池(也可以配置其他的连接池),因此可以提高程序的效率

(3)Mybatis将SQL配置在mapper文件中,修改SQL只是修改配置文件,类不需要重新编译

(4)对查询SQL执行后返回的ResultSet对象,Mybatis会帮我们处理,转化成Java对象

。。。

Mybatis主要的类

  • Configuration? ? ? ? ?Mybatis所有的配置信息都维持在Configuration对象之中
  • SqlSession? ? ? ? ? ? 作为Mybatis工作的主要顶层API,表示和数据库交互的会话,完成必要的数据库增删改查功能
  • Executor? ? ? ? ? ? ? ? Mybatis执行器,是Mybatis调度的核心,负责SQL语句的生成和查询缓存的维护

关于mybatis的更新数据不成功的问题

对于使用mybatis对数据库的信息进行的修改增加操作,需要在最后加上事务的提交,

因为mybatis在对数据库的增删改的时候,引入了事务

最坑的是:不加事务的提交,控制台上不会报任何的错误,而且还能打印出正常的SQL语句

关于mybatis的配置文件

Mybatis的配置文件包括全局配置文件(MybatisConfig.xml)和映射配置文件(*/mapper/*.xml)

Mybatis的Mapper的代理模式

?原始的开发模式存在的问题也很明显。硬编码,需要指定namespace以及调用SQL的ID,而且这一块是没有静态检测的,万一拼写错误,只能在运行时发现。

Mapper模式简介

Mapper模式,简单来说就是定义一个接口以及一个对应的相关联的Mapper.xml文件。然后,在Myatis框架本身,会进行根据Mapper.xml文件和接口,去生成一个基于接口的对象。

其次,这种代码的编写缺少约束

比如:selecOne的多个参数支持形式都是通过第二个参数Object去实现,如传入Map或者Integer都行,这就导致了缺少约束,可以随意传值。

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:19:45  更:2021-07-13 17:21:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:39:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码