java p45——Mybatis

news/2024/11/19 16:36:25/

maven/mybatis01、02、03,重点02_CRUD

  • Mybatis 与 JDBC 编程的比较
  • 动态sql语句
  • 多表查询
  • 延迟加载
  • mybatis注解开发
  • SqlMapConfig.xml配置文件
    • properties(属性)
    • typeAliases(类型别名)
    • mappers(映射器)
    • 开启全局延迟加载
  • 自定义 Mybatis 的设计模式
    • 工厂模式
    • 代理模式
    • 构建者模式

Mybatis 与 JDBC 编程的比较

  1. 数据库链接创建、释放频繁造成系统资源浪费从⽽影响系统性能,如果使⽤数据库链接池可解决此问题,并且mybatis不需要自己创建连接池
    解决:
    在 SqlMapConfig.xml 中配置数据链接池,使⽤连接池管理数据库链接。
  2. Sql 语句写在代码中造成代码不易维护,实际应⽤ sql 变化的可能较⼤,sql 变动需要改变java 代码。
    解决:
    将 Sql 语句配置在 XXXXmapper.xml ⽂件中与 java 代码分离。
  3. 向 sql 语句传参数麻烦,因为 sql 语句的 where 条件不⼀定,可能多也可能少,占位符需要和参数对应。
    解决:
    Mybatis ⾃动将 java 对象映射至 sql 语句,通过 statement 中的 parameterType 定义输⼊参数的类型。
  4. 对结果集解析麻烦,sql 变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成 pojo 对象解析⽐较⽅便。
    解决:
    Mybatis ⾃动将 sql 执⾏结果映射⾄ java 对象,通过 statement 中的 resultType 定义输出结果的类型。

动态sql语句

多表查询

延迟加载

mybatis注解开发

SqlMapConfig.xml配置文件

properties(属性)

在使⽤ properties 标签配置时,我们可以采⽤两种⽅式指定属性配置。
第一种
在这里插入图片描述
第二种
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

typeAliases(类型别名)

自定义别名,然后resultType和parameterType中就可以直接写别名,例如user/USer
在这里插入图片描述

mappers(映射器)

使⽤相对于类路径的资源,xml文件
在这里插入图片描述
使⽤ mapper 接⼝类路径

在这里插入图片描述
注册指定包下的所有 mapper 接⼝
在这里插入图片描述

开启全局延迟加载

在properties之后

<settings><setting name="lazyLoadingEnabled" value="true"/>
</settings>

开启局部延迟加载

自定义 Mybatis 的设计模式

工厂模式

在这里插入图片描述

代理模式

在这里插入图片描述

构建者模式

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/127797.html

相关文章

p42 p43 p44 p45 p46 p47 p48 p49

p42 :一维数组的定义方式&#xff1a; 特点1&#xff1a; 数字中的每个数据元素都是相同的数据类型。 特点2&#xff1a;数组是由连续的内存位置组成的。 三种定义方式&#xff1a; ① 语法&#xff1a; 数据类型 数组名[ 数组长度 ]&#xff1b; int arr[5]; ②语法&#x…

p45-01

1.设顺序表a中的数据元素递增有序&#xff0c;试设计一个算法&#xff0c;将x插入到顺序表的适当位置&#xff0c;以保持该表的有序性。 #include<iostream> typedef int T; using namespace std;//类的定义 template <class T> class SqList //顺序表类 {privat…

e8400 i7 matlab,E8400冲上4.5GHz! 499元P45也玩超频

新一代的P55i5已经来到了消费者面前&#xff0c;在全新的LGA1156接口i5/i7高性能的诱惑下&#xff0c;很多用户对目前的DIY市场产生了疑惑&#xff0c;本来打算近期装机的消费者开始持币观望&#xff0c;上一代的P45Core2是否还有吸引力呢&#xff1f;Intel当然十分了解消费者的…

P45 函数式编程

P45 函数式编程 1.Lambda的延迟执行2.使用 Lambda 作为参数和返回值 系统&#xff1a;Win10 Java&#xff1a;1.8.0_333 IDEA&#xff1a;2020.3.4 在兼顾面向对象特性的基础上&#xff0c;Java 语言通过 Lambda 表达式与方法引用等&#xff0c;为开发者打开了函数式编程的大门…

JavaScript 学习笔记 p45 - 50

对一个数进行开方&#xff1a; var result Math.sqrt(); console.time ("test");for (var i2; i<100; i) {var flag true;for (var j2; j<Math.sqrt(i); j) {if (i%j 0) {//如果进入判断则证明 i 不是质数&#xff0c;修改 flag 值为 falseflag false;//不…

P42-P45 认识函数

1. 函数的定义 函数是组织好的可以重复使用的代码段。函数可以提高应用的模块性和代码的重复使用率。 函数的参数(形式参数)可以支持多个。 def mufun1(name,times):for i in range(times):print(fI love {name}) mufun1(python,5) 2. 函数的返回值 函数的返回值&#xff0c;…

谷粒商城-基础篇-商品服务1-三级分类(P45-P58)

谷粒商城-基础篇2 一、商品服务-API-三级分类1、三级分类2、查出所有分类以及子分类2、配置网关路由与路径重写3、网关统一配置跨域4、查询-树形展示三级分类数据5、删除6、新增7、修改8、修改拖拽效果9、批量删除 商品服务-三级分类 一、商品服务-API-三级分类 1、三级分类 …

CSS基础(P45-P65)

一、基础认知 1.1CSS介绍 CSS&#xff1a;层叠式样表&#xff08;Cascading style sheets&#xff09;&#xff0c;用来给页面中的HTML标签设置样式 常见属性&#xff1a;color颜色、font-size字体大小、background-color背景颜色、width宽度、height高度 注意点&#xff1…