JAVA学习笔记DAY9——Mybatis基础

2024-06-19 23:44

本文主要是介绍JAVA学习笔记DAY9——Mybatis基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • MyBatis简介
  • Mybatis快速入门
  • MyBatis 原理
    • ibatis方式和原理
    • MyBatis方式和原理
  • MyBatis 基本使用
    • 向sql语句传参

MyBatis简介

一款持久层框架,前身为Apache的开源项目iBatis。
JDBC -> MyBatis -> Hibernate ,封装程度越来越高。

Mybatis快速入门

  1. 导入依赖
  2. 准备实体类
  3. 准备Mapper接口和MapperXML文件
    xxxMapper 接口 即对应原先的 xxxDao接口,规定方法。
    xxxMapper.xml 对应原先的 xxxDaoImpl 实现类,其中有接口对应方法的sql语句。
    mapper接口不能重载。
  4. 准备MyBatis配置文件
    链接数据库信息
    mapper.xml位置
    ……
  5. 用MyBatis提供的api进行方法的调用
    1. 读取外部配置文件
    2. 创建sqlSessionFactory(全局保留)
    3. 创建sqlSession(每次业务创建一个,用完就释放)
    4. 获取接口的代理对象,调用 代理对象的方法。
    5. 提交事务(非DQL)和释放资源。

MyBatis 原理

MyBatis进行数据库crud是对ibatis的封装和优化。

ibatis方式和原理

  1. xxxxMapper.xml:
    namespace=“前缀标识”
    <select id sql

  2. mybatis-config.xml:
    数据库信息
    功能开关
    自定mapper.xml文件

  3. sqlSession

MyBatis方式和原理

在ibatis基础上套个壳。
用Mapper.java接口,在sqlSession中的getMapper()传入,生成一个代理对象(jdk动态代理)。代理对象其中方法为:将类的权限符号获取;获取方法名;拼接成一个字符串;调用ibatis对应的方法。

MyBatis 基本使用

向sql语句传参

  1. mybatis-config.xml中中添加
    • #{ key }:占位符+赋值
      (推荐使用,可防止注入攻击,但仅能用于动态值)
    • ${ key }:字符串拼接

这篇关于JAVA学习笔记DAY9——Mybatis基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076492

相关文章

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D