首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏python3

    SSM框架MyBatis3专题3:关联

    根据表与表之间的关联关系的不同,关联查询分为四种: 1、一对一关联查询; 2、一对多关联查询; 3、多对一关联查询; 4、多对多关联查询; 由于日常工作中最常见的关联关系是一对多、多对一与多对多,所以这里就不专门只讲解一对一关联查询了 因为框架是依据这个<resultMap/>封装对象的。 另外,在映射文件中使用<collection/>标签体现出两个实体对象间的关联关系。 3、深度延迟:执行对主加载对象的查询时,不会执行对关联对象的查询。访问主加载对象的详情时也不会执行关联对象的select查询。只有当真正访问关联对象的详情时,才会执行对关联对象的select查询。 MyBatis中对于延迟加载设置,可以应用到一对一、一对多、多对多的所有关联关系查询中。 下面以一对多关联关系查询为例,讲解MyBatis中的延迟加载应用。 :表示子标签可以没有,若有的话,最多只能有一个,即小于等于1; 2、*:表示子标签可以没有,可以有多个,即大于等于0; 3、+:表示子标签最少要有一个,即大于等于1; 4、没有符号:表示有且只能够有一个

    94610发布于 2020-01-06
  • 来自专栏开源部署

    MyBatis框架

    1、框架 1.1、框架是什么 软件框架是在软件开发过程中的一套解决方案,不同的框架可以解决不同的问题。 1.2、为什么要使用框架 软件框架中封装了很多细节,使用开发者可以用简单的方式实现功能,大大的提高了我们的开发效率。 如: //需求分析: 如何完成衣服的清洗过程? 常见的三层架构: 表现层:用于数据的展示 业务层:用于业务的需求的处理 持久层:用于数据库的交互 3、JavaEE常见框架 3.1、MyBatis 是一个持久层的框架,还有一个封装程度更高的框架就是 3.2、SpringMVC 是一个用于WEB层的框架,在构建WEB应用程序的时候,Spring框架提供了全部功能的MVC模块。 在Spring进行WEB开发时,我们可以选择SpringMVC框架开发,或者其他的MVC框架。如:struts1,struts2等。

    32130编辑于 2022-09-14
  • 来自专栏MasiMaro 的技术博文

    Mybatis 框架

    为了简化开发,隐藏一些不必要的细节,专心处理业务相关内容 ,Java提供了许多现成的框架可以使用 Mybatis介绍 在程序开发中讲究 MVC 的分层架构,其中M表示的是存储层,也就是与数据库交互的内容 这样我们很自然的就想到了,可以编写一个框架或者类库,实现仅配置sql语句和对应的映射关系,来实现查询到封装的一系列操作,从而简化后续的开发。Mybatis帮助我们实现了这个功能。 /mybatis-3-config.dtd"> <! DOCTYPE mapper PUBLIC "-//mybatis.org//DTDMapper3.0//EN" "http://mybatis.org/dtd/mybatis -3-mapper.dtd"> <!

    87420发布于 2019-12-18
  • 来自专栏微科技

    【原创】Mybatis框架

    Mybatis基础 1.Mybatis介绍 1、Mybatis是一个半自动ORM(对象关系映射框架),对比全自动ORM,Mybatis需要自己手写SQL语句,其内部封装了JDBC。 2、Mybatis底层提供了连接池,解决了JDBC频繁创建和关闭连接的操作。 3.Mybatis缺点 1、Sql语句编写工作量大,尤其当字段多,关联表时。 3)第三种情况sqlSession调用了rollback()方法,缓存会被清空。 4)第四种情况执行了增加、更新、删除操作后,缓存会被清空。 3Mybatis清除缓存机制: (1)最近最少使用策略:移除最长时间不被使用的对象。 (2)先进先出策略:按照对象进入的缓存顺序来进行移除。 (3)软引用:基于GC和软引用规则移除缓存。 (4)弱引用:基于GC和弱引用规则移除缓存。 7.Mybatis的懒加载 懒加载:分布式查询,需要时再进行查询。在多表查询时提高查询效率。

    56020编辑于 2023-03-03
  • 来自专栏大数据分享

    使用MyBatis框架

    一、什么是框架 1. 框架就是偷懒的程序员将代码进行封装,之后进行重复使用的过程 2. 框架其实是一个半成品,以框架为例,连接数据库使用的驱动,url,用户名,密码等必须要告诉框架3. Mybatis ORM框架,底层是对jdbc的封装 2. Spring是一个容器,可以依赖、整合其他框架 3. SpringMVC分层框架,让条理更加清晰、项目的功能会更强大 4. 官网地址: https://mybatis.org/mybatis-3/zh/ 四、Mybatis特点 (一)属于持久层的ORM框架 1. ORM Object Relational Mapping对象关系映射 框架 类 表 成员变量 字段 对象 记录 3. ,也可以做传统项目 Hibernate自动化的ORM框架 1) 表可以通过框架自动创建 2) 省略基本的一些sql 3) 不依赖数据库平台 缺点:学习成本较高,优化难度大、不便于后期维护,适用于做传统框架

    68310发布于 2020-09-18
  • 来自专栏闻道于事

    MyBatis框架(一)

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数 中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。 使用步骤: 创建项目,导入Ojdbc.jar包和mybatis**.jar包, 设置数据库的信息的属性: 1 jdbc.username=test 2 jdbc.password=test 3 jdbc.url DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-

    1K50发布于 2018-02-28
  • 来自专栏Danny的专栏

    MyBatis框架点滴】——MyBatis输出映射

    https://blog.csdn.net/huyuyang6688/article/details/51553225   上文说到,MyBatis中,通过parameterType指定输入参数的类型 3、查询出来的列名与pojo中的属性名完全不一致,则不会创建对象,结果为null; <select id="findUserById" parameterType="int" resultType ="com.danny.<em>mybatis</em>.po.User"> select id as number,username as name,sex as s,birthday as birthdate --定义User的resultMap--> <resultMap type="com.danny.<em>mybatis</em>.po.User" id="userResultMap"> <id column ---- 【 转载请注明出处——胡玉洋《【MyBatis框架点滴】——MyBatis输出映射》】

    66320发布于 2018-09-13
  • 来自专栏闻道于事

    MyBatis框架(二)

    导包, 配置mybatis的总配置文件: mybatis-config.xml, 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <! DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis- DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis- DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-

    87580发布于 2018-02-28
  • 来自专栏Danny的专栏

    MyBatis框架点滴】——MyBatis延迟加载

    延迟加载(lazy load)是(也称为懒加载)Hibernate3关联关系对象默认的加载方式,延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作 DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd " > <mapper namespace="com.danny.<em>mybatis</em>.mapper.OrdersMapper" > <resultMap type="com.danny.<em>mybatis</em>.po.Orders -- 配置映射的用户信息 --> <association property="user" javaType="com.danny.<em>mybatis</em>.po.User" select="com.danny.<em>mybatis</em>.mapper.UserMapper.findUserById ---- 【 转载请注明出处——胡玉洋《【<em>MyBatis</em><em>框架</em>点滴】——<em>MyBatis</em>延迟加载》】

    57930发布于 2018-09-13
  • 来自专栏Danny的专栏

    MyBatis框架点滴】——MyBatis输入映射

    https://blog.csdn.net/huyuyang6688/article/details/51548983   在MyBatis的映射文件中,通过parameterType指定输入数据的类型 别名   上述parameterType的属性值为int,其实就代表是从java.lang.Integer映射来的,这是mybatis的特性,mybatis默认支持java中一些常用类型的别名,如    int-java.lang.Integer   string-java.lang.String   date-Date   ……   其他mybatis不支持的数据类型还可以在mybatis >   配置完成后,就可以在映射文件中用 user 来“充当”com.danny.mybatis.po.User 类型了。    ---- 【 转载请注明出处——胡玉洋《【MyBatis框架点滴】——MyBatis输入映射》】

    67210发布于 2018-09-13
  • 来自专栏cwl_Java

    快速学习MyBatis-MyBatis框架概述

    本文链接:https://blog.csdn.net/weixin_42528266/article/details/103421421 MyBatis 框架概述 mybatis 是一个优秀的基于 java mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。 为了我们能够更好掌握框架运行的内部过程,并且有更好的体验,下面我们将从自定义 Mybatis 框架开始来学习框架。此时我们将会体验框架从无到有的过程体验,也能够很好的综合前面阶段所学的基础。 3、使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能 多也可能少,修改 sql 还要修改代码,系统不易维护。

    48740发布于 2019-12-11
  • 来自专栏陶然同学博客

    MyBatis】day01搭建MyBatis框架

    第一章 初识Mybatis 1.1 框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架:持久化层框架【dao层】 SpringMVC 框架:控制层框架【Servlet层】 Spring框架:全能... 1.2 Mybatis简介 Mybatis是一个半自动化持久化层ORM框架 ORM:Object Relational – MyBatis 3 | Introduction 源码地址:GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for Java 第二章 搭建Mybatis框架 导入jar包 编写配置文件 使用核心类库 2.1 准备 建库建表建约束 准备maven工程 2.2 搭建Mybatis框架步骤 导入jar包 /dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment

    29020编辑于 2023-04-30
  • 来自专栏花猪的学习记录

    MyBatis--框架学习

    前言 SSM框架的最后一部分 简介 mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精 去处理加载驱动、创建连接、创建statement 最后mybatis框架执行sql并将结果映射为java对象并返回。 DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd --查询操作--> <select id="findAll" resultType="user"> select * from user </select> mybatis框架已经设置好了一些常用的类型的别名 Mapper接口开发方法只需要编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。

    87930编辑于 2022-02-23
  • 来自专栏阿飞的学习记录

    Mybatis框架入门

    MyBatis 框架概述 mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 为了我们能够更好掌握框架运行的内部过程,并且有更好的体验,下面我们将从自定义 Mybatis 框架开始来学习框架。此时我们将会体验框架从无到有的过程体验,也能够很好的综合前面阶段所学的基础。 Mybatis 框架快速入门 搭建 Mybatis 开发环境 创建 maven 工程 导入坐标 <dependencies> <dependency> <groupId>org.mybatis DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3

    33020编辑于 2022-03-23
  • 来自专栏企鹅号快讯

    持久层框架MyBatis

    之后我也会写一篇针对技术小白的文章~) 先来介绍下Mybatis,它是appache下开源的一款持久层框架,通过xml与java文件的紧密配合,避免了JDBC所带来的一系列问题,比如sql硬编码问题, 而MyBatis是一款不完全的ORM框架,它需要程序员去编写sql语句,对sql语句优化方便,适用于需求变化较多的互联网项目。 下面就着重来说代码结构的东西。 单独使用MyBatis框架 1. 配置工程结构 步骤如下: a. mybatis的jar包(注意有多个)、mysql-connector的jar包添加到lib目录下面,并且Build Path。 3. mapper.xml与mapper.java必须在同一个包下,并且方法名、参数类型、返回类型必须一一对应才能使用mapper代理。 4. 工程结构 3. 配置文件 SqlMapConfig.xml 数据库连接以及mapper加载都放在了Spring的配置文件里,所以这里不用写了。

    1.3K110发布于 2018-03-01
  • 来自专栏火属性小虫

    MyBatis基础(SSM框架

    , 24 8月 2021 作者 847954981@qq.com 后端学习, 我的编程之路 MyBatis基础(SSM框架) 在当下 MyBatis 已经是最主流的持久层框架,具体一点就是操作数据库的框架 ;MyBatis 非常轻量,只需要通过简单的XML或者注解就可以完成数据映射和操作数据。 很多公司都采用 MyBatis 作为 Java 的持久层框架,主要的原因在于它可以灵活的自定义SQL又兼具ORM框架的特性。 Spring依赖: Spring Web、MyBatis Framework、MySQL Driver DO对象规则 所有的 ORM 框架都需要有一个 Java 对象来映射数据库的表,并且是一一对应的,

    37920编辑于 2023-02-22
  • 来自专栏Android 技术栈

    Mybatis 框架实战(上)

    Mybatis 持久层:简化工作量、灵活 Spring 粘合剂:整合框架 AOP IOC DI SpringMvc 表现层:方便前后端数据的传输 Mybatis: 1.是对jdbc的封装, 2.将sql 语句放在映射文件中(xml), 3.自动将输入参数映射到sql语句的动态参数上, 4.自动将sql语句执行的结果映射成java对象 入门示例: 1.创建项目mubatis-01 2.导入jar: mybatis -3.2.8 mysql-connect log4j-1.2.17 3.加入配置文件 (1)db.properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url =DEBUG ... (3) mybatis核心配置文件:mybatis-config.xml (4) BlogMapper.xml 包:com.jingbin.mybatis.mapper 4.编写接口 mybatis定义: 使用$。如果参数是单指类型(简单类型),并且只有一个参数,则花括号里只能写value占位。 使用$可以直接将%写里面,可能有sql注入的风险,建议最好使用#。

    44520发布于 2019-04-17
  • 来自专栏Android 技术栈

    Mybatis 框架实战(下)

    select <include refid="columnBase"/> from blog where id = #{id} </select> 22 23.逆向功工程-代码的生成 使用 Mybatis 官方工具直接生成对应的mapper文件 全部生成 - 无实际意义,具体项目中不适用 24.缓存 - mybatis的一级缓存 一级缓存: 是session级别的缓存,一级缓存默认存在。 /** * mybatis的一级缓存,中间有增删改会刷新 */ @Test public void testSelectBlogCacheOne2() { SqlSession session /** * mybatis的二级缓存 */ @Test public void testSelectBlogCacheLevelTwo1() { SqlSession session1 = Blog implements Serializable { private static final long serialVersionUID = 1L; } /** * mybatis

    52130发布于 2019-04-10
  • 来自专栏Java架构师必看

    mybatis 3_mybatis源码分析

    今天说一说mybatis 3_mybatis源码分析,希望能够帮助大家进步!!! 最近在网上看了mybatis的源码直播,记录、复习一下当时的内容!! 阅读源码需要从三个方向来剖析: 1.宏观:分析这个框架具备哪些功能 2.微观:阅读源码 3.图解:根据源码画出UML图 阅读源码的方式: 1.跟着代码debug进入源码 2.带着问题来看源码 前期准备 1.引入包 2.准备配置文件 3.配置解析demo 4.业务查询demo ============================================================ ========= 1.mybatis解析配置是怎样的流程 ===================================================================== 假如前期准备完成 ,现在执行mybatis的demo,第二步是为了拿到文件流,我们直接看第三步并进入mybatis源码 其中new XMLConfigBuilder(reader, environment, properties

    30230编辑于 2022-08-03
  • 来自专栏Java实战博客

    1 Mybatis 框架 & Mybatis初级进阶篇

    MyBatis的中文官方 : https://mybatis.org/mybatis-3/zh/index.html W3School的Mybatis网站 : https://www.w3cschool.cn /mybatis/ 介绍(Ibatis 3就叫MyBatisMyBatis:是一款轻量级的ORM(对象-关系-映射)、半自动的持久层框架, 作用是: 将原来的 JDBC 的SQL 与 JAVA代码的硬编译 DOCTYPE mapper PUBLIC "-//mybatis.org//DTD MyBatis 3.0//EN" "http://mybatis.org/dtd/mybatis-3 /dtd/mybatis-3-config.dtd"> <configuration> <environments default="dev1"> <environment 1 environments 标签 image.png image.png 2 mappers 标签 3 proerties 标签 image.png 在 configuration 标签下引入

    75920编辑于 2022-01-17
领券