当前位置: 首页 > news >正文

试验一 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.dtcms.com/a/81622.html

相关文章:

  • 基于 NOMOTO 模型的船舶操纵性指数研究
  • DeepSeek生成测试用例的常用Prompt
  • 边缘计算革命:重构软件架构的范式与未来
  • 钉钉机器人
  • C 语 言 --- 扫 雷 游 戏(初 阶 版)
  • 计算机网络——通信基础和传输介质
  • 学习记录-bootstrap-弹性盒子
  • 常⻅CMS漏洞 -DeDeCMS 获取webshell
  • TISAX认证注意事项的详细介绍
  • Floyd 算法——97. 小明逛公园
  • 30天搭建消防安全培训小程序
  • python条件判断数据(解析、筛选)
  • 《AI幻觉:完美智能的幻象与真实世界的纠错指南》
  • 10、binlog
  • 实用工具--OfficeAI 助手 v0.3.20(长期免费,2025-03-18 本地支持WPSWord联动)
  • Cyberchef实用功能之-json line格式文件美化和查询
  • 数据治理之数据仓库
  • 车辆模型——运动学模型
  • Excel(函数进阶篇):FILTER函数全解读、XLOOKUP函数全解读、UNIQUE函数、数组与数组公式
  • 企业数据孤岛的纠结与恩怨
  • 使用Pygame实现记忆拼图游戏
  • 图像滤波中常用滤波器的相位响应——不是只有零相位滤波器
  • Java 大视界 -- Java 大数据分布式计算中的通信优化与网络拓扑设计(145)
  • 家庭带宽运行PCDN
  • 关于CNN,RNN,GAN,GNN,DQN,Transformer,LSTM,DBN你了解多少
  • 每日一题--C与C++的差别
  • ROS篇---坐标系(直角坐标系、圆柱坐标系、球坐标系)
  • 记一次发短信接口分析
  • RISC-V AIA学习1----介绍
  • 【Agent】Dify Docker 安装问题 INTERNAL SERVER ERROR