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都行,这就导致了缺少约束,可以随意传值。

猜你喜欢

转载自blog.csdn.net/awodwde/article/details/118671304