MyBatis第三课

这篇具有很好参考价值的文章主要介绍了MyBatis第三课。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

回顾 

#和$区别

#(预编译SQL)和$(即时SQL,它是进行的字符串拼接)的区别,其中之一就是预编译SQL和即时SQL的区别

原因:


回顾 

MyBatis第三课,mybatis,java,spring

两者的共同点

MyBatis第三课,mybatis,java,spring

MyBatis第三课,mybatis,java,spring

MaBits可以看作是Java程序和Mysql的沟通桥梁,底层还是(jdbc)

访问数据库还得是Mysql

多表查询(慢)

1.通常情况下,数据库集群是很多项目一起使用的,当出现慢查询的时候,会影响整个集群,也就是会影响所有使用该集群的项目

2.JAVA服务器扩容更方便

数据库集群扩容需要DBA处理

Mybatis

并不关注你的多表查询还是单表查询,他更主要的是把数据库的映射到JAVA对象中。

MyBatis第三课,mybatis,java,spring

#和$区别

假如用

MyBatis第三课,mybatis,java,spring

下面是不加引号报的错

MyBatis第三课,mybatis,java,spring

MyBatis第三课,mybatis,java,spring

不能使用#的情况

1.如果是排序的时候,传递asc还是desc的时候,假如asc会给参数加上''

有#他的传递过来的asc就会多加一个引号,从而报错 

MyBatis第三课,mybatis,java,spring

下面是使用$的结果,可以看到正常运行。

MyBatis第三课,mybatis,java,spring

2.假如生活中,使用模糊查询的时候

使用#

MyBatis第三课,mybatis,java,spring

使用$符号就会可以使用

MyBatis第三课,mybatis,java,spring

$存在的漏斗 SQL注入(面试题)

什么叫SQL注入呢:

通过操作输入的数据来修改事先先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。

我的个人理解,假如王者荣耀输入用户id,本来他的id是传递字符型之类的,这时候,你加入个引号啥的比如说 

xxx‘里面是你的王者荣耀名字’,这个时候你在里面写了‘我是帅哥’,那么这样,他的两个引号,就会先遇上,也就是说xxx''我是帅哥'‘,此时两个引号靠近,那么就是让数据库误解,误认为你的那个'是语句结束的标志。

$符号报错

MyBatis第三课,mybatis,java,spring

#符号不发生报错,正常运行

MyBatis第三课,mybatis,java,spring

#(预编译SQL)和$(即时SQL,它是进行的字符串拼接)的区别,其中之一就是预编译SQL和即时SQL的区别

1.预编译SQL性能更高

2.预编译SQL不存在SQL注入的问题

排序的时候不可以使用#

表名,字段名等作为参数时,也不能使用#

模糊查询,如果使用#,需要搭配mysql的内置函数concat,而不能直接使用。

实际生活中,能用#都用#,不能用等时候再用$(要考虑SQL注入这个问题)

原因:

SQL执行

1.语法解析

2.SQL优化(但是这个是服务器的对他本身的优化,不是程序员:加索引的优化方式)

预编译SQL:编译一次之后,会将编译后的SQL语句缓存起来,后面再去执行这条语句的时候,不会再次编译,省去了解析优化的过程,以此提高效率

3.SQL执行

数据库连接池

数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。

国内中比较流行的Hikari,Druid(ALibaba)MyBatis第三课,mybatis,java,spring

公司内部会告诉你到时候,了解即可文章来源地址https://www.toymoban.com/news/detail-809309.html

到了这里,关于MyBatis第三课的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java mybatis spring习题

    1、MyBatis 和 Spring 整合需要引入的 jar 包是( )。 A.spring -context B.mybatis-spring C.spring -jdbc D.spring -webmvc 答案:B 解析:MyBatis 与 Spring 整合包是 mybatis -spring 2、用户通过浏览器向服务器发送请求时,负责拦截用户请求的是 ()。 A.处理器 B.处理器映射器 C.前端控制器 D.处理器适配器

    2024年02月11日
    浏览(41)
  • Java Spring和Spring集成Mybatis

    1.Spring 2.Spring 集成Mybatis 1.Spring 特性 IOC :控制反转 AOP :面向切面 Spring 组成部分 在SMM中起到的作用(粘合剂) Spring 理念 OOP 核心思想【万物皆对象】 Spring 核心思想【万物皆Bean组件】 Spring 优势 低侵入式 独立于应用服务器 低耦合度 面向切面(集中式处理) 与第三方框架

    2024年02月16日
    浏览(45)
  • 【0基础学Java第三课】-- 运算符

    计算机的最基本的用途之一就是执行数学运算,比如+,,就是运算符,即: 对操作数进行操作时的符号,不同运算符操作的含义不同。 作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下: 算术运算符(+ - */) 关系运算符( ==) 逻辑运算符

    2024年02月07日
    浏览(93)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第一天)Mybatis的学习

    一、当前的主流框架介绍(这就是后期我会发出来的框架学习) Spring框架 ​ Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的 ,其主要优势之一就是分层架构。 Spring提供了更完善的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象 )对象提供企业级

    2024年02月12日
    浏览(58)
  • java: 无法访问org.mybatis.spring.annotation.MapperScan

    springboot与mybatis整合时报如上错误: 参考该篇文章:https://wenku.csdn.net/answer/6jghdrg8j6,解决该问题,之前使用的Mybatis-spring依赖的版本3.0.1太高,将版本改为2.2.2,使用maven重新reload project,再次编译,该问题被解决。

    2024年02月03日
    浏览(49)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第二天)Mybatis的深入学习

    上一篇我们的项目搭建好了,也写了简答的Junit测试类进行测试,可以正确映射到数据库中。 那么这篇文章来深入学习一下以下几个点: 了解 MyBatis的核心对象SqlSessionFactoryBuilder 以及它的作用 掌握MyBatis核心配置文件以及元素的使用 。 掌握MyBatis映射文件及其元素的使用 。

    2024年02月11日
    浏览(68)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第五天)MyBatis的注解开发

    ​ 昨天我们深入学习了 MyBatis多表之间的关联映射,了解掌握了一对一关联映射,一对多关联映射,嵌套查询方式以及嵌套结果方式,掌握了缓存机制的一级缓存,二级缓存等概念,也使用了代码进行复现理解 。但是都是基于XML配置文件的方式来实现的,现在我们要学习一下

    2024年02月11日
    浏览(64)
  • Java版Spring Cloud+Spring Boot+Mybatis+uniapp知识付费平台讲解

    提供私有化部署,免费售后,专业技术指导,支持PC、APP、H5、小程序多终端同步,支持二次开发定制,源码交付。   Java版知识付费-轻松拥有知识付费平台 多种直播形式,全面满足直播场景需求 公开课、小班课、独立直播间等类型,满足讲师个性化直播场景需求;低延迟、

    2024年02月16日
    浏览(51)
  • 基于Java+Spring+mybatis+vue+element实现酒店管理系统

    博主介绍 : ✌ 全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计 ✌  🍅 文末获取联系 🍅    精彩专栏推荐👇🏻👇🏻👇🏻👇🏻 java项目精品实战案例

    2024年04月13日
    浏览(75)
  • 探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty

    🎉欢迎来到Java面试技巧专栏~探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java面试技巧 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习

    2024年02月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包