(一)MyBatis学习笔记——简介、案例测试、相关API

Mybatis基础入门学习笔记(一) 这里写自定义目录标题一.Mybatis快速入门1.1 框架介绍1.2 ORM介绍1.3 原始jdbc操作(查询数据)1.4 原始jdbc操作的分析1.5 Mybatis的快速入门1.6.1 环境搭建1.6.2编写测试代码1.7 知识小结二. MyBatis的相关api2.1 Resources2.2 构建器SqlSessionFactoryBuilder2.3 工厂对象SqlSessionFactory2.4 SqlSession会话对象三.MyBatis 映射配置文件3.1 映射配置文件介绍3.2 查 阅读详情

一、ORM

ORM(Object Relational Mapping): 对象关系映射,指在持久化数据(操作数据库)和实体对象之间进行映射,将java中的对象通过ORM与数据库联系起来。

二、MyBatis简介

  • MyBatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
  • MyBatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。
  • 最后MyBatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。

三、MyBatis使用案例测试

  • 主要步骤如下:
  1. 添加MyBatis的jar包到工程中并导入
  2. 创建Student数据表
  3. 编写Student实体类
  4. 编写映射文件StudentMapper.xml
  5. 编写核心文件MyBatisConfig.xml
  6. 编写测试类

关于前三步导包、数据库建表、创建实体类不再展示,和JDBC操作相同。

  • 映射文件StudentMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="StudentMapper">
    <select id="selectAll" resultType="com.example.bean.Student">
        SELECT * FROM student
    </select>
</mapper>
  • 核心文件MyBatisConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/db14"/>
                <property name="username" value="root"/>
                <property name="password" value="12345678"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="StudentMapper.xml"/>
    </mappers>
</configuration>
  • 编写测试类:StudentTest1
public class StudentTest1 {
    public static void main(String[] args) {

    }
    @Test
    public void selectAll() throws Exception{
        //1.加载核心配置文件
        InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");

        //2.获取SQLSession工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

        //3.通过SQLSession工厂对象获取SQLSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //4.执行映射配置文件中的SQL语句,接收结果
        List<Student> list = sqlSession.selectList("StudentMapper.selectAll");

        //5.处理结果
        for (Student stu : list) System.out.println(stu);

        //6.释放资源
        sqlSession.close();
        is.close();
    }
}

四、相关API

1.Resources

  • org.apache.ibatis.io.Resources:加载资源的工具类。

  • 核心方法:

返回值类型方法名说明
InputStreamgetResourceAsStream(String fileName)通过被加载器返回指定资源的字节输入流

2.SqlSessionFactoryBuilder构建器

  • org.apache.ibatis.session.SqlSessionFactoryBuilder:获取 SqlSessionFactory 工厂对象的功能类

  • 核心方法

返回值类型方法名说明
SqlSessionFactorybuild(InputStream is)通过指定资源字节输入流获取SqlSession工厂对象

3.SqlSessionFactory工厂对象

  • org.apache.ibatis.session.SqlSessionFactory:获取 SqlSession 构建者对象的工厂接口。

  • 核心方法

返回值类型方法名说明
SqlSessionopenSession()获取SqlSession构建者对象,并开启手动提交事务
SqlSessionopenSession(boolean autoCommit)获取SqlSession构建者对象,默认false,需要手动提交事务。参数为true开启手动提交事务

4.SqlSession会话对象

  • org.apache.ibatis.session.SqlSession:构建者对象接口。用于执行 SQL、管理事务、接口代理。SqlSession示例在MyBatis中是非常强大的一个类,包含了所有的执行语句、提交或回滚事务、获取映射器实例的方法。
  • 核心方法
返回值类型方法名说明
List< E>selectList(String statement, Object paramter)执行查询语句,返回list集合
TselectOne(String statement, Object paramter)执行查询语句,返回一个结果对象
intinsert(String statement, Object paramter)执行新增语句,返回影响行数
intupdate(String statement, Object paramter)执行修改语句,返回影响行数
intdelete(String statement, Object paramter)执行删除语句,返回影响行数
voidcommit()提交事务
voidrollback()回滚事务
TgetMapper(Class< T> cls)获取指定接口的代理实现类对象
voidclose()释放资源
MyBatis(一) MyBatis本是apache下的一个开源项目,项目的前身为iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并正式更名为MyBatis。MyBatis是一个支持普通 SQL查询、存储过程、高级映射的优秀持久层开源框架。MyBatis几乎消除JDBC的所有代码,其中包括:参数的手动设置代码,对查询结果集进行遍历的代码。面使用MyBatis框架来做一个简单的入门案例,以用户表为例,通过MyBatis框架完成最简单的增、删、改、查操作。 阅读详情

相关推荐

【扩展卡尔曼滤波器EKF】基于UWB雷达的SLAM能够在室内环境内映射自然点地标,并改善机器人定位(Matlab代码实现)

内容概要:本文档提供了名为“Plecs全桥LLC谐振变换器仿真模型”的资源,主要用于电力电子领域中LLC谐振变换器的建模与仿真研究。该模型基于Plecs软件平台构建,聚焦于全桥LLC拓扑结构,涵盖其工作原理、关键参数设计及动态性能仿真,帮助用户深入理解LLC谐振变换器在软开关、高效率功率转换方面的特性与实现方法。文档内容包括系统建模、主电路参数计算、控制策略实现以及仿真结果分析等部分,适用于高频高效电源变换器的研发与教学实践。; 适合人群:具备电力电子与电力系统基础知识,从事电源变换器设计、仿真与优化工作的工程师及高校研究生。; 使用场景及目标:① 掌握LLC谐振变换器的工作机理与Plecs仿真建模流程;② 学习全桥LLC拓扑的参数设计与软开关实现方法;③ 为高频高效DC-DC变换器的科研、课程设计或工程项目提供仿真基础和技术参考。; 阅读建议:建议结合电力电子技术教材与Plecs官方文档同步学习,重点理解谐振腔参数(如Lr、Cr、Lm)对增益特性与软开关的影响,并通过调整仿真参数验证不同工况下的系统响应,以加深对LLC变换器设计规律的理解。

MyBatis的基本API简介

MyBatis是一个优秀的基于Java的持久层框架。其内部封装了JDBC,使开发者只需要关注SQL语句本身,不用花费精力去处理如注册驱动,创建Connection,配置Statement等繁琐过程。 我们通过测试案例来看下MyBatis的基本API的使用及相关简介; public void insertTest(Student student) { try { // 1.加载主配置文件 InputStream inputStream = Resources.getResourceAsStre

一路的博客 2666

Silvaco TCAD 2018安装后,如何配置TonyPlot 5.0.22.R并解决绘图报错?

本文详细介绍了在Windows系统上安装Silvaco TCAD 2018后,如何正确配置TonyPlot 5.0.22.R并解决常见的绘图报错问题。内容包括版本兼容性分析、环境变量设置、常见错误解决方案以及性能优化建议,帮助用户顺利完成仿真结果的可视化工作。

weixin_31031711的博客 420

一、Mybatis简介

一、MyBatis简介 1.1原始JDBC操作的分析 原始JDBC开发存在的问题如下: ①:数据库创建连接,释放连接频繁操作,造成系统资源浪费从而影响系统性能。 ②:sql语句在代码中硬编码,造成代码不易维护;实际应用sql变化的可能较大,sql变动需要改变java代码。 ③:查询操作时,需要手动将结果集中的数据封装到实体类中。 应对上述问题给出的解决方案: ①:使用数据库连接池初始化连接资源。 ②:将sql语句抽取到xml文件中。 ③:使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射。

weixin_48893653的博客 1087

PC微信(3.9.2.23)逆向实战:定位并Hook消息接收函数

本文详细介绍了PC微信(3.9.2.23)逆向分析中定位并Hook消息接收函数的完整实战流程。通过Cheat Engine动态定位未读消息数内存地址,结合OllyDbg分析代码上下文,最终找到稳定的Hook点,并分享了实战中的关键注意事项与踩坑经验。

lll78的博客 473

哈希拓展攻击CTF题做法

kali下载相关工具hash-ext-attack:hash拓展题目特征:2023楚慧杯upload_shell实验吧之让我进去:前言:具体怎么加密解密补位的原理我不懂,深入理解的部分我在文末挂了链接,以下也只是我做题的结论和通解,可能不准确(但是做题还挺准确),有错误欢迎指出:是在密码加密过程中引入的一个随机值,它与密码结合使用,目的是增加密码的复杂性和安全性。在密码加密中,常见的做法是将用户提供的密码进行哈希处理,然后存储哈希值而不是明文密码

2301_76690905的博客 2419

一、MyBatis的简介

MyBatis的简介

qq_52916408的博客 1396

SLAM工程师面试避坑指南:2025年最新高频考点与实战代码解析

本文为SLAM工程师提供2025年最新面试避坑指南,涵盖高频技术考点如VINS初始化、三维几何处理、多传感器融合架构设计等,并包含实战代码解析。特别针对算法工程师面试中的常见陷阱,提供系统设计框架和代码模板,帮助求职者提升通过率。

metaverse5vr的博客 246

一、Mybatis入门介绍及简单案例

Mybatis入门介绍 1、Mybaits简介 1.1、什么是Mybatis MyBatis 是一款优秀的持久层框架。 它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql

weixin_35798336的博客 1111

高项49个过程,输入、工具技术、输出的思维导图

为了制定项目章程的管理方法主要是采用了数据收集技术,例如通过头脑风暴,通过召集主题专家和团队成员收集信息、解决方案,并在短时间内获得大量创意,并对大量创意进行分析和排序,选出最优化最适合本项目方案,并对项目成员的不同差异观点,进行了引导和对冲突的管理,最终有助于项目干系人的目标、成功标准的内容达成一致意见,形成完善的项目章程。在本过程中得到项目章程,在制定项目章程中需要包括信息有:项目名称、项目目标、项目总里程碑进度表、项目经理、主要干系人及财务预算信息。本过程在仅开展一次,或仅在项目的预定义点开展。

Legend_Jiang的博客 6180

偏最小二乘结构方程(PLS-SEM)_TomatoSCI分析日记

①模型整体拟合指标(Goodness-of-Fit, GOF),这个可以看做整体的R方了,上限是1;②指标载荷的具体值;然而,当数据中包含潜变量(即由多个观测指标组合而成的综合概念)时,贝叶斯结构方程不太适用。指标过少(1-2 个)会削弱潜变量的解释力,而指标过多可能增加噪声,影响模型稳定性。如果指标较多,可考虑进一步划分潜变量,但应确保每个指标有意义。掌握这两类方法后,在处理多变量、因果或路径分析研究时,可以根据数据特点与研究需求灵活选择。对于一般的多变量研究,这两类结构方程均为常用且有效的分析方案。

qq_44684643的博客 2009

Mybatis(一)——【快速入门、增删查改操作、核心配置文件描述及API】

目录 原始JDBC操作 Mybatis简介 Mybatis开发步骤: Mybatis的映射文件概述 Mybatis的增删改查操作 MyBatis的核心配置文件概述 MyBatis核心配置文件层级关系 MyBatis常用配置解析 Mybatis相应API 原始JDBC操作 原始jdbc操作(查询数据) 原始jdbc操作(插入数据) 原始jdbc操作的分析原始jdbc开发存在的问题如下: ①数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能 ②sql 语句在代码中硬...

龍弟-idea的博客 4895

SAP-ABAP:FI财务会计模块常用BAPI及核心用途实例说明

SAP FI模块的BAPI覆盖了从主数据管理、凭证过账到财务关账的全流程操作,是系统集成与自动化的重要工具。实际应用中需结合业务场景选择合适的BAPI,并严格遵循事务控制与校验规则。如需扩展功能,可通过BAdI或用户出口增强标准逻辑。

baidu_35680696的博客 1601

详解MyBatis之篇一

详解如何使用MyBatis操作数据库。

. 1万+

基于改进YOLO11的天际线检测算法:复杂光照与恶劣天气适配实战

针对特定任务的YOLO改进,不应追求通用SOTA,而应深入理解任务的物理退化机理。Retinex对应光照模型、FAD对应散射模型、Wise-IoU对应边界不确定性——每个改进都有明确的物理解释,而非盲目的模块堆叠。时序一致性:引入轻量级RNN/Transformer模块利用视频帧间信息补偿单帧退化;多模态融合:结合红外/NIR波段穿透雾霾,与可见光特征在FAD-Neck中交叉注意力融合;自监督预训练:在海量无标注天际线视频上用MAE预训练Backbone,缓解恶劣天气标注稀缺问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 95

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MyBatis的JUnit测试

背景 最近项目中遇到一个场景,需要将项目中原有的DB切成MySQL。为了验证修改后的MyBatis的XML映射文件的SQL语法是否OK,重新部署后,在界面上一顿狂点。这种做法太Low,不仅没效率,还可能存在漏测。 目的 通过MyBatis自带的API,实现XML映射文件的加载,达到在本地测试的目的。无需启动spring框架服务,灵活配置本地调试场景。 实现方案 1. 数据库连接属性配置 配置数据库...

weixin_34112181的博客 3181

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Mybatis-快速入门及相关API

mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。 最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装

金鳞踏雨 1684

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java mybatis 案例_Mybatis入门详解及案例

Mybatis案例超详解前言:本来是想像之前一样继续跟新Mybatis,但由于种种原因,迟迟没有更新,快开学了,学了一个暑假,博客也更新了不少,我觉得我得缓缓,先整合一些案例练练,等我再成熟点理解再透彻点之后再详细更新,如果仅仅是为了更新博客而忽视质量的话,有违我的初心,所以我决定,暂时转移路线,整合一些案例,为了以后更新更好的博客而准备。此篇我会由浅入深进行整理,适合新手练习,希望能对一些有需求...

weixin_39805906的博客 302

Mybatis-MyBatis简介 / 搭建Mybatis

MyBatis,作为当今广泛使用的Java持久层框架,其起源可以追溯到名为iBatis的开源项目。iBatis最初是由Apache Software Foundation托管的一个开源项目,旨在简化Java应用程序中的数据库交互,尤其是通过减少直接使用JDBC时所需的大量样板代码来提升开发效率。持久层框架是软件开发中的一种工具,用于方便、高效且安全地让应用程序与数据库(或其他持久化存储)进行交互。抽象化数据访问。

sakurapaid的博客 1291

MyBatis的相关api

Resources 构建器SqlSessionFactoryBuilder 工厂对象SqlSessionFactory SqlSession会话对象 接口代理方式实现Dao 代理开发方式介绍 MyBatis 映射配置文件 查询功能 新增功能 修改功能 删除功能 抽取工具类 注解实现案例 问题扩展:新增用户 id 的返回值

qq_52963857的博客 676

一. MyBatis简介

官网:https://mybatis.org/mybatis-3/zh/index.htmlMyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到GithubMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。

weixin_52873283的博客 548

MyBatis入门案例、MyBatis API、MyBatis 配置文件、代理、动态SQL

框架是一款半成品软件,我们可以基于这个半成品软件继续开发,来完成我们个性化的需求!: 对象关系映射指的是持久化数据和实体对象的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。如图:具体映射关系如下图:ORM框架:MyBatisJPAHibernatemybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml。

qq_52884824的博客 1039

Spring整合Mybatis-实现简单的增删改查功能案例实现

之前我们学习了spring整合数据源和工具类,但我们后期使用SSM框架,所以这里单独写一篇Spring整合Mybatis Spring整合Mybatis案例 第一步:建表 创建表accountbank:银行账户类 第二步:创建项目,配置环境,增加依赖 pom.xml代码: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmln.

qq_43265564的博客 3560

Mybatis从头到尾(一)--MyBatis简介及项目搭建

一、简介 MyBatis的前身是iBATIS,是ClintonBegin在2001年发起的一个开源项目,最初侧重于密码软件的开发,后来发展成为一款基于Java的持久层框架。2004年,Clinton将iBATIS的名字和源码捐赠给了Apache软件基金会,接下来的6年中,开源软件世界发生了巨大的变化,一切开发实践、基础设施、许可,甚至数据库技术都彻底改变了。2010年,核心开发团队决定离开Apa...

小流至江河的博客 603

Mybatis学习笔记(一)

MyBatis快速入门、核心配置文件详解、MyBatis的增删改查、MyBatis获取参数值的两种方式、MyBatis的各种查询功能、特殊的SQL、一对多、多对一的映射及动态SQL

weixin_48622530的博客 1462

MyBatis学习笔记(一)---一个简单MyBatis示例

前言:前面我写了《利用JDBC访问MySQL数据库》这篇文章,其中讲述了如何利用Java提供的标准化API屏蔽底层数据库实现并操作数据库的方法,在最后提到了利用JDBC仍旧存在的几个局限性: 在应用程序中存在的大量代码冗余。业务代码与数据库访问代码混杂在一起。SQL语句与Java代码混杂在一起。JDBC抛出费力难懂的checked异常,需要程序员花费精力小心处理。需要程序员自行解决ORM

Coder Wu的博客 5423
上一篇: (六)JDBC学习笔记——自定义JDBC框架
下一篇: (二)MyBatis学习笔记——使用映射配置文件进行CRUD、核心配置文件使用
MegaBytes
博客等级 码龄8年 45粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值