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

2.1.2 基于配置方式使用MyBatis

在这里插入图片描述

文章目录

      • 实战目标
      • 实战步骤
        • 1. 创建Maven项目
        • 2. 添加项目依赖
        • 3. 创建用户实体类
        • 4. 创建用户映射器配置文件
        • 5. 创建MyBatis配置文件
        • 6. 创建日志属性文件
        • 7. 测试用户操作
        • 8. 运行测试方法
      • 预期结果
      • 实战方法
      • 结论

实战目标

本实战的目标是演示如何使用MyBatis框架来操作数据库。通过创建一个简单的用户管理系统,我们将学习如何配置MyBatis、创建实体类、映射器配置文件、MyBatis配置文件以及如何执行数据库操作。

实战步骤

1. 创建Maven项目
  • 创建一个新的Maven项目,并设置项目名称。
  • 选择Jakarta EE 10作为项目类型,但不添加任何依赖。
  • 创建Maven项目框架。
2. 添加项目依赖
  • 删除项目中的默认依赖。
  • 添加新的依赖,并刷新项目以确保依赖正确加载。
3. 创建用户实体类
  • net.huawei.mybatis.bean包中创建User类。
  • 定义User类的基本属性:id、username和password。
  • 实现User类的getter和setter方法以及toString方法。
4. 创建用户映射器配置文件
  • resources目录下创建mapper目录。
  • mapper目录中创建UserMapper.xml文件。
  • UserMapper.xml中定义SQL映射语句,包括查询用户、查询全部用户和用户登录。
5. 创建MyBatis配置文件
  • resources目录下创建mybatis-config.xml文件。
  • 配置实体类别名、数据库环境、事务管理器和数据源。
  • 指定实体关系映射配置文件的位置。
6. 创建日志属性文件
  • resources目录下创建log4j.properties文件。
  • 配置日志记录器和日志输出格式。
7. 测试用户操作
  • 创建测试类TestUserOperation
  • 声明SQL会话并创建初始化方法init()
  • 创建测试查询全部记录的方法testFindAll()
  • 创建测试按编号查询记录的方法testFindById()
  • 创建测试用户登录的方法testLogin()
  • 创建销毁方法destroy()以关闭SQL会话。
8. 运行测试方法
  • 运行testFindAll()testFindById()testLogin()方法来测试数据库操作。

预期结果

通过执行上述步骤,预期将能够:

  • 成功创建Maven项目并配置所需的依赖。
  • 定义用户实体类并实现基本的数据库操作。
  • 通过MyBatis映射器配置文件执行SQL查询。
  • 通过MyBatis配置文件连接数据库并执行操作。
  • 通过日志文件记录操作日志。
  • 通过测试类验证数据库操作的正确性。

实战方法

本实战使用了MyBatis框架,结合Maven项目管理工具,通过XML配置文件来定义SQL语句和映射关系,使用JUnit测试框架进行单元测试。

结论

通过本实战,参与者将能够理解并掌握MyBatis的基本使用方法,包括配置、实体类创建、映射器配置、数据库操作以及单元测试。这将为参与者在实际开发中使用MyBatis提供坚实的基础。

http://www.lryc.cn/news/357403.html

相关文章:

  • 使用NuScenes数据集生成ROS Bag文件:深度学习与机器人操作的桥梁
  • 氢燃料电池汽车行业发展
  • Linux服务器配置ssh证书登录
  • 端口扫描利器--nmap
  • React基础知识笔记
  • 筛选的艺术:数组元素的精确提取
  • SQLServer2022新特性JSON_PATH_EXISTS测试输入 JSON 字符串中是否存在指定的 SQL/JSON 路径
  • 力扣:104. 二叉树的最大深度
  • 嵌入式0基础开始学习 ⅠC语言(3)分支结构
  • 设计模式21——命令模式
  • 虚拟机报错:VMX 进程已提前退出。VMware Workstation 无法连接到虚拟机。
  • P2341 受欢迎的牛
  • Linux系统编程(五)多线程
  • HTTP Basic Access Authentication Schema
  • #职场发展#其他
  • 【Text2SQL 论文】评估 ChatGPT 的 zero-shot Text2SQL 能力
  • 安卓手机APP开发___设置闹钟
  • 如何评价GPT-4o
  • 自定义窗口事件循环系统
  • 随机森林算法教程(个人总结)
  • 解决Android studio 一直提示下载gradle-xxx-all.zip问题
  • 3DEXPERIENCE DELMIA Role: RVN - Robotics Virtual Commissioning Analyst
  • js知识点之闭包
  • LORA微调,让大模型更平易近人
  • LabVIEW全自动样品处理系统有哪些优势?
  • shell脚本操作http请求的返回值——shell处理json格式数据
  • leetcode力扣 300. 最长递增子序列 II
  • C++_vector简单源码剖析:vector模拟实现
  • 第3章 数据链路层
  • 使用OrangePi KunPeng Pro部署AI模型