SSM(MyBatis+Spring+SpringMVC)之MyBatis总结

对于SSM(MyBatis+Spring+SpringMVC)之MyBatis总结

对于ORM持久化框架之前一直是用的JDBC去连接数据库 ,对于JDBC来连接库来说可能存在一些不足,那么MyBatis确切的说只能算半持久化框架,因为MyBatis是需要我们去自动的编写我们的SQL语句的,我们可以用JDBC&MyBatis做一些比较

我们在使用JDBC的时候会对数据库进行一些频繁创建连接和释放连接的操作从而影响的整个系统的性能。那么针对这一方面我们的MyBatis很好的利用了数据库连接池来对我们的链接进行的管理,列如我们在SQLMapConfig.xml的配置文件中使用连接池的技术很好的解决了这一问题那么连接池的原理就是为了提高性能而生产出来的,第一次连接数据库时会创建一个连接然后请求结束后那么连接并不会去关闭,而是放入了连接池中等待下一次的连接,当有请求来时直接使用上一次的连接进行对Server的访问那么这样就省略了创建连接和销毁连接从而从一定程度上提高了程序的性能

回顾之前学习JDBC技术的时候,我们使用JDBC连接数据库SQL语句使用StringBUffer和StringBuilder或者是String进行拼接的那么不利于我们对代码的维护,我们都知道在实际的应用中很多的时候都会变动SQL语句 MyBatis呢将我们的SQL语句放入到Mapper映射文件中动态的拼写SQL那么SQL语句从一定程度上来说也是可以提高性能,并且提高了代码的可扩展性的问题

MyBatis也能够利用@Param注解(两个以上的参数需要加上@Param注解)自动的将Java对象映射到我们SQL语句,MyBatis也能将我们执行完之后的SQL语句映射到对象中

MyBatis的执行一共可以分为五步:首先创建SqlSessionFactory,通过SqlSessionFactory创建SqlSession,这时候我们就可以通过SqlSession进行一些对数据库方面的操作,然后调用session对数据库的事务进行一些提交,最后session.close()方法关闭数据库

MyBatis的一级缓存和二级缓存

Mybatis首先去缓存中查询结果集,如果没有则查询数据库,如果有则从缓存取出返回结果集就不走数据库。Mybatis内部存储缓存使用一个HashMap,key为hashCode+sqlId+Sql语句。value为从查询出来映射生成的java对象

Mybatis的二级缓存即查询缓存,它的作用域是一个mapper的namespace,即在同一个namespace中查询sql可以从缓存中获取数据。二级缓存是可以跨SqlSession的。

那么一级缓存是需要默认开启的而二级缓存是需要手动的去开启的

MyBatis中Sql语句使用#{}传入参数和${}传入参数区别

使用#{}传入参数时会自动的为参数加上单引号而${}是原样的把参数直接显示到SQL语句中,#{}在很大的程度上能够防止SQL注入,${}无法阻止SQL的注入,一般${}用于传递对象比如数据库中的表名,MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

MyBatis中namescape的作用

在MyBatis中,映射文件中的那么namespace是用于绑定Dao的接口的,也就是我们常说的面向接口的编程方式,我们通过namespace绑定接口后,不需要去写接口的实现类,mybatis会通过自动绑定的功能帮助你找到要执行的对应的SQL语句中

那么在这里也可以去提一下我们的CURD中的ID作用也是一致的 那么通过ID找到对应的SQL语句

输出结果类型

  1. resultType,字段和java对象中属性一致推荐使用resultType
  2. resultMap,字段和java对象中属性不一致的情况比较多的时候使用resultMap


原文地址:https://www.cnblogs.com/liulei0919/p/9256646.html

时间: 2024-08-04 09:47:19

SSM(MyBatis+Spring+SpringMVC)之MyBatis总结的相关文章

简单易学的SSM(Spring+SpringMVC+MyBatis)整合

SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:  1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管理,SpringMVC讲这个请求传递给Controller层处理. 同时请求由Listener监听到交付给Spring,Spring建立IOC容器. 3.Controller层中会调用相应的Service层的方法处理业务逻辑.此时Service从上一步中建立好的IOC容器获取对象,然后获取 到M

Maven+SSM框架(Spring+SpringMVC+MyBatis) - Hello World(转发)

[JSP]Maven+SSM框架(Spring+SpringMVC+MyBatis) - Hello World 来源:http://blog.csdn.net/zhshulin/article/details/37956105?utm_source=tuicool&utm_medium=referral(以下博文对原博文有改动和补充) 博文里红底白字的,为注意修改的地方,在这里先声明 源码:Maven&SSM框架 - Hello World 开发环境: Eclipse Java EE I

SSM(Spring+SpringMVC+MyBatis)高并发优化思路

SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项目的框架. 学习课程的地址:https://www.imooc.com/learn/632 老师的GitHub地址:https://github.com/geekyijun/seckill 高并发发生在哪里?分析整个系统流程,用户进行秒杀时最感兴趣的进入详情页进行秒杀.图中红色表示可能会出现高并发的点,绿色

myBatis+Spring+SpringMVC框架面试题整理

myBatis+Spring+SpringMVC框架面试题整理(一) 2018年09月06日 13:36:01 新新许愿树 阅读数 14034更多 分类专栏: SSM 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41541619/article/details/82459873 目录 ■ SpringMVC 的工作原理 ■ 谈谈你对SpringMVC的理解 ■ SpringMVC

SSM框架Spring+SpringMVC+MyBatis——详细整合教程

摘要: 包括SQL Maps和Data Access ObjectsDAOMyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的... 摘要:   spring MVC属于SpringFrameWork的后续产品已经融合在Spring Web Flow里面.Spring MVC 分离了控制器.模型对... 1.基本概念 1.1.Spring Spring是一个开源框架Spring是于2003 年兴起的一个轻量级的Java 开发框架由Rod Johnson 在其著作Expert 

[JSP]Maven+SSM框架(Spring+SpringMVC+MyBatis)

来源:http://blog.csdn.net/zhshulin/article/details/37956105?utm_source=tuicool&utm_medium=referral(以下博文对原博文有改动和补充) 开发环境: Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4.5.2) apache-tomcat-8.0.33 jdk1.8.0_77 MySQL 5.0.11-dev(官网下载需要账号登

myBatis,Spring,SpringMVC三大框架ssm整合模板

整合步骤 创建web工程 导入整合所需的所有jar包 编写各层需要的配置文件 1) mybatis的全局配置文件 <configuration> <!-- 批量别名的设置 -->    <typeAliases>        <package name="cn.ssm.pojo"/>    </typeAliases>     </configuration> 2) spring管理mybatis的配置文件 &l

SSM框架——Spring+SpringMVC+Mybatis的搭建教程

一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP. SpringMVC是Spring实现的一个Web层,相当于Struts的框架,但是比Struts更加灵活和强大! Mybatis是 一个持久层的框架,在使用上相比Hibernate更加灵活,可以控制sql的编写,使用 XML或注解进行相关的配置! 根据上面的描述,学习SSM框架就非常的重要了! 二:搭

eclipse 搭建ssm (Spring+SpringMVC+MyBatis)

eclipse 开发软件搭建简单 ssm 开源框架并连接MySQL查询 前提:准备好搭建框架的jar.连接数据库的jar.日志架包jar和tomcat 不多说 我们开始 首先 创建项目File ->New-> Dynamic Web Project (名字随便起 我这里就起 ssm ) 在src下创建基本的包 导入jar的包 将jar包放进 WebContent ->web-INF ->lib里 (?? 一大堆 不知道哪个没有用  放进去就对了) jar包 链接:https://p