试验一 mybatis 入门操作

试验一 mybatis 入门操作

一 实验目的
1.掌握mybatis基础操作,包括如何在maven工程中引入依赖,创建mapper文件,核心配置文件,映射文件,并测试对数据库表基本的的CRUD操作;

2.掌握核心配置文件中几个重要标签:typealiases,properties等

3.回顾和复习mysql基础操作,maven工程结构,idea快捷操作

二 实验内容:

1 mysql操作;2 idea操作;3用mybatis操作数据库(增、删、改、查)

1、 mysql操作回顾

在这里插入图片描述

2、 idea 常用操作

1)快捷键
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

另:快速收缩展开方法:

Ctrl+shift+:- or +

2) idea连接mysql数据库:

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

注:https://github.com/mybatis/mybatis-3下载mybatis

(中文官网: http://www.mybatis.cn/)

3、创建一个maven工程一个数据库,用mybatis操作数据库(增、删、改、查)

1)工程中加入相关支持:

在这里插入图片描述

2)核心配置文件:
在这里插入图片描述

3)映射文件:

在这里插入图片描述

请按课堂讲授方法自行创建数据库进行编程开发。

注:获取sqlSession代码:

在这里插入图片描述

4)加入日志功能:
在这里插入图片描述

5) mapper和映射文件

未学习参数传递之前,映射文件中的sql语句只能硬编码。
在这里插入图片描述
在这里插入图片描述

在测试程序中测试以上方法,观察日志输出,确认数据库表的变动。

实验内容:
1)工程中加入相关支持:
在这里插入图片描述

2)核心配置文件:
在这里插入图片描述

3)映射文件:
在这里插入图片描述

请按课堂讲授方法自行创建数据库进行编程开发。
注:获取sqlSession代码:

在这里插入图片描述

4)加入日志功能:
在这里插入图片描述

5) mapper和映射文件

未学习参数传递之前,映射文件中的sql语句只能硬编码。

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

输出结果:
在这里插入图片描述
在这里插入图片描述

在测试程序中测试以上方法,观察日志输出,确认数据库表的变动。
数据库表变动:
在这里插入图片描述

在这里插入图片描述

三 实验小结(谈谈自己实验收获)
收获:
①了解什么是MyBatis。MyBatis是一款优秀的持久层框架,用于简化JDBC开发。MyBatis本是Apache的一个开源项目,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
官网:(https://mybatis.net.cn/)。
②逐步上手Mapper代理开发。

  1. 定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下;
  2. 设置SQL映射文件的namespace属性为Mapper接口全限定名;
  3. 在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致;
  4. 编码。通过SqlSession的getMapper方法获取Mapper接口的代理对象。调用对应方法完成sql的执行。

③格外要注意,Mapper接口和Mapper映射文件需要在同一目录下,这样Mapper的映射文件和接口的class文件才能在同一个目录下,代理才能成功。(之前没注意这一点导致报错,识别不到映射文件)创建映射文件,点击new directory后,把./表示,创建完成后文件名显示的还是点,这样Mapper的映射文件和接口的class文件就在同一个目录下了。
④细节:原来的映射文件有包的名称,写起来不是很方便,而且将来有很多这样的映射文件,一个个写不方便。如果用Mapper代理的方式,用包扫描的方式,加载映射文件,一行代码搞定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37591.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Gitee Go流水线部署个人项目到服务器指南

使用Gitee Go流水线部署个人项目到服务器指南 前言!!! 本文解决的问题: 你有一台ECS服务器,你在上面部署了一个Java服务也就是一个jar,你觉着你每次手动本地打包,上传,在通过命令去…

LCCI ESG 中英联合认证国际分析师适合的岗位

LCCI ESG中英联合认证国际分析师领域热门岗位大揭秘!🌍 大家好!今天我们来探讨LCCI ESG中英联合认证国际分析师领域的热门岗位,看看是否有适合你的选择。 1️⃣ LCCI ESG中英联合认证国际分析师报告专员:主要负责编制…

Compose 实践与探索十五 —— 自定义触摸

1、自定义触摸与一维滑动监测 之前我们在讲 Modifier 时讲过如下与手势检测相关的 Modifier: Modifier.clickable { } Modifier.combinedClickable { } Modifier.pointerInput {detectTapGestures { } }这里对以上内容就不再赘述了,直接去讲解更复杂的…

【Linux】Makefile秘籍

> 🍃 本系列为Linux的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:【小编的个人主页】 >小编将在这里分享学习Linux的心路历程✨和知识分享🔍 >如果本篇文章有问题,还请多多包涵&a…

LDAP从入门到实战:环境部署与配置指南(上)

#作者:朱雷 文章目录 一、LDAP 简介1.1. 什么是目录服务1.2. 什么是 LDAP1.3. LDAP的基本模型 二、Ldap环境部署2.1.下载软件包2.2.安装软件2.3.编辑配置文件2.4.启动服务 一、LDAP 简介 1.1. 什么是目录服务 目录是专门为搜索和浏览而设计的专用数据库&#xff…

《C++智能指针:建议使用 make_shared 代替 shared_ptr》

《C 智能指针&#xff1a;长达数十年的血泪史&#xff0c;一步步征服内存泄漏》-CSDN博客 shared_ptr<int> sp1(new int(10)); 这句代码实际存在两个内存开辟&#xff0c;一是开辟我们要托管的内存资源 &#xff0c;二是开辟引用计数的资源&#xff0c;引用技术也是new出…

代码随想录刷题day50|(回溯算法篇)131.分割回文串▲

目录 一、回溯算法基础知识 二、分割回文串思路 2.1 如何切割 2.2 判断回文 2.3 回溯三部曲 2.4 其他问题 三、相关算法题目 四、总结 一、回溯算法基础知识 详见&#xff1a;代码随想录刷题day46|&#xff08;回溯算法篇&#xff09;77.组合-CSDN博客 二、分割回文…

vivo 湖仓架构的性能提升之旅

作者&#xff1a;郭小龙 vivo互联网 大数据高级研发工程师 导读&#xff1a;本文整理自 vivo互联网 大数据高级研发工程师 郭小龙 在 StarRocks 年度峰会上的分享&#xff0c;聚焦 vivo 大数据多维分析面临的挑战、StarRocks 落地方案及应用收益。 在 即席分析 场景&#xff0c…

Springboot的jak安装与配置教程

目录 Windows系统 macOS系统 Linux系统 Windows系统 下载JDK&#xff1a; 访问Oracle官网或其他JDK提供商网站&#xff0c;下载适合Windows系统的JDK版本。网站地址&#xff1a;Oracle 甲骨文中国 | 云应用和云平台点击进入下滑&#xff0c;点击进入下载根据自己的系统选择&…

力扣算法Hot100——128. 最长连续序列

题目要求时间复杂度为O(n)&#xff0c;因此不能使用两次循环匹配。 首先使用 HashSet 去重&#xff0c;并且 HashSet 查找一个数的复杂度为O(1)外循环还是遍历set集合&#xff0c;里面一重循环需要添加判断&#xff0c;这样才不会达到O( n 2 n^2 n2)判断是否进入最长序列查找循…

BlockChain.java

BlockChain 区块链&#xff0c;举个栗子 注意啦&#xff0c;列子里面的hashcode相等&#xff0c;但是字符串是不一样的哦&#xff0c;之前有记录这个问题 String.hashCode()-CSDN博客

visual studio 中导入 benchmark

法一 1.visual studio 中导入 benchmark.lib Shlwapi.lib这两个库 2.预处理宏 BENCHMARK_STATIC_DEFINE vs导入参考 错误提示 没有加入 BENCHMARK STATIC_DEFINE error LNK2001: 无法解析的外部符号 “__declspec(dllimport) int __cdecl benchmark::internal::InitializeS…

java基础之windows电脑基础命令

windows电脑基础命令 windows电脑基础命令快捷键和功能键键盘功能键B:键盘快捷键 DOS命令行的进入方式xp下如何打开DOS控制台&#xff1f;win7下如何打开DOS控制台&#xff1f;win8下如何打开DOS控制台 DOS命令讲解 黑窗口编译文件使用黑窗口运行java程序 windows电脑基础命令 …

Java 第十一章 GUI编程(3)

目录 内部类 内部类定义 内部类的特点 匿名内部类 格式&#xff1a; 内部类的意义 实例 内部类 ● 把类定义在另一个类的内部&#xff0c;该类就被称为内部类。 ● 如果在类 Outer 的内部再定义一个类 Inner&#xff0c;此时类 Inner 就称为内部类 &#xff08;或称为嵌…

uniapp 实现的下拉菜单组件

采用 uniapp 实现, 是一款具备丝滑折叠、展开动画的下拉菜单&#xff0c;支持 vue2、vue3&#xff1b;适配 web、H5、微信小程序&#xff08;其他平台小程序未测试过&#xff0c;可自行尝试&#xff09; 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?i…

【一维前缀和与二维前缀和(简单版dp)】

1.前缀和模板 一维前缀和模板 1.暴力解法 要求哪段区间&#xff0c;我就直接遍历那段区间求和。 时间复杂度O(n*q) 2.前缀和 ------ 快速求出数组中某一个连续区间的和。 1&#xff09;预处理一个前缀和数组 这个前缀和数组设定为dp&#xff0c;dp[i]表示&#xff1a;表示…

ubuntu部署运行xinference全精度对话deepseek本地部署图文教程

前置环境搭建劳请移步往期 source activate 自己环境名启动python3.12环境安装xinference&#xff0c; 按教程敲命令&#xff0c;wheel包与wsl的通用&#xff0c;pip install 包名。 vllm引擎&#xff0c;transform引擎也会顺带自动装上了。 后续操作请参照往期教程。本地部署模…

Python 面向对象三大特性深度解析

一、封装&#xff08;Encapsulation&#xff09; 1. 私有化实现 class BankAccount:def __init__(self, account_holder, balance0):self.__holder account_holder # 双下划线私有属性self.__balance balance# 公有方法访问私有属性def deposit(self, amount):if amount &…

星越L_陡坡缓降使用讲解

目录 1.陡坡缓降 1.陡坡缓降 中控屏下滑-点击陡坡缓降功能 35km/h以下时生效。35km/h-60km/h该功能暂停 60km/h以上该功能关闭

多路FM调频广播解调器:多路电台FM广播信号一体化解调处理方案

多路FM调频广播解调器&#xff1a;多路电台FM广播信号一体化解调处理方案 支持OEM型号开放式协议支持二次开发设计 北京海特伟业科技有限公司任洪卓发布于2025年3月21日 在信息传播领域&#xff0c;FM调频广播媒体以其独特的优势持续发挥着重要作用。为了应对日益增长的多路…