device_info实现增删改查,都在用的过程,难道就你不知道?

本文通过MyBatis的实际操作步骤,介绍了如何在Java开发中使用Maven创建项目,配置依赖,以及如何运用POJO和DAO进行数据封装和交互。重点强调了通过实践、模块化设计和编程思维(如抽象、封装、面向对象、测试驱动和依赖注入)来提高学习效果和代码质量。
摘要由CSDN通过智能技术生成

h e l l o

我感觉写这种一步一步操作的东西,如果不跟着多做几遍,实际上是没有什么效果的,顶多是在脑子里面放了一边视频,下次依然是做不出来的。
与其说还是那么传统的通过看书去学习东西,不如先多去看看看各个程序员的视频,多有一种编程的思维在脑袋里面,多通过实践去加深和了解这个思维的丰富程度和他的应用场景。

操作步骤:

  1. maven依赖:
    首先创建一个项目,配置好maven的位置以及仓库的位置。
  2. 导入maven依赖pom.xml
    在项目中的pom.xml文件中加入元素用于定义项目的依赖库,这些库将在项目构建时被自动下载和引入。在这个例子中,项目依赖了MyBatis、JUnit和MySQL驱动。
  3. 建立数据库以及表:
    提前建立一个建表语句:

CREATE TABLE device_info (
id BIGINT NOT NULL AUTO_INCREMENT,
typeNo VARCHAR(50) NOT NULL,
price DECIMAL(20,2) DEFAULT NULL,
date DATE DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;device_info

  1. 表中添加初始数据:
    添加一些备件信息

INSERT INTO device_info (typeNo, price, date)
VALUES
(‘D-1’, 1650.00, ‘2019-12-25’),
(‘D-3’, 2200.00, ‘2019-11-29’),
(‘D-2’, 1850.00, ‘2020-01-10’),
(‘D-4’, 1980.00, ‘2020-02-15’),
(‘D-5’, 1500.00, ‘2020-03-20’);

//删除表的语句:DROP TABLE IF EXISTS device_info;

额外 的 东西

在Java开发中,POJO包和DAO包是常见的包结构,用于组织代码和实现不同的功能。

  1. POJO包(Plain Old Java Object):POJO包通常用于存放普通的Java类,这些类通常只包含属性和对应的getter和setter方法,没有业务逻辑。POJO类用于封装数据,通常与数据库中的表结构或其他数据源的数据结构相对应。POJO类的任务是提供一个简单的数据容器,用于在不同的层之间传递数据。
  2. DAO包(Data Access Object):DAO包用于存放数据访问对象,这些对象用于与数据库或其他数据源进行交互。DAO类封装了对数据的访问和操作逻辑,提供了对数据的增删改查等操作方法。DAO类的任务是将数据访问逻辑与业务逻辑分离,使得业务逻辑层可以独立于具体的数据访问细节。

总结起来,POJO包用于存放简单的数据对象,而DAO包用于封装数据访问逻辑。POJO类提供了数据的封装和传递,而DAO类提供了对数据的访问和操作。这样的包结构可以使代码更加清晰、模块化,并且方便维护和扩展。
相较于传统的DAO包,使用Mapper的方式更加符合MyBatis框架的设计理念和使用习惯。Mapper接口提供了更灵活的方式来定义和执行SQL语句,同时也更加符合面向对象的编程思想。在MyBatis中,Mapper接口与对应的XML配置文件或注解一起使用,实现了数据访问逻辑与SQL语句的分离,提高了代码的可维护性和可读性。


  1. 新建项目+配置mybatis依赖mybatis-hello.xml
    在项目内新建一个像项目,命名创建之后,在新建项目的目录下有一个新的pom.xml文件,可以使用之前已经定义好的模板(这里的xml是mybatis的一些依赖和配置)
  2. 创建POJO下的封装数据类Equipment.java
    POJO类通常只包含属性和对应的getter和setter方法,没有业务逻辑。这些类用于与数据库表的结构相对应,用于数据的封装和传递。
  3. 创建Mapper接口EquipmentMapper.java
    包含与数据库交互相关的方法。这些方法用于执行SQL语句和映射查询结果。
    例如:
InsertCopy codevoid insertEquipment(Equipment equipment);
  1. 创建Mapper XML文件或注解EquipmentMapper.xml
    包含与数据库交互相关的SQL语句和参数映射关系。Mapper XML文件或注解中的语句和参数映射关系应该与Mapper接口中的方法名称和参数相对应,以便MyBatis框架能够正确地执行对应的SQL语句。
InsertCopy code<insert id="insertEquipment">
  <!-- 插入设备信息 -->
  INSERT INTO device_info (typeNo, price, date)
  VALUES (#{typeNo}, #{price}, #{date})
</insert>
  1. 创建测试类TestEquipment.java
    使用MyBatis的配置文件和Mapper接口,可以方便地进行数据库操作,并使用JUnit框架进行单元测试。
    测试类TestEquipment使用了JUnit测试框架。测试方法testEquipment01用于测试插入设备信息的功能。
@Test
public void testEquipment01() throws IOException {
// 加载 MyBatis 配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-hello.xml");
// 创建 SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 根据配置文件创建 SqlSessionFactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
// 打开 SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(true);
// 获取 EquipmentMapper 接口的实例  增
EquipmentMapper Equipment = sqlSession.getMapper(EquipmentMapper.class);
Equipment.insertEquipment();
sqlSession.close();
}

在测试方法中,首先加载MyBatis的配置文件mybatis-hello.xml,然后创建SqlSessionFactory和SqlSession,用于与数据库进行交互。
接下来,通过SqlSession的getMapper方法获取EquipmentMapper接口的实例。EquipmentMapper是一个Mapper接口,用于定义与设备信息相关的数据库操作方法。
在测试方法中,调用EquipmentMapper接口的insertEquipment方法,用于向数据库中插入设备信息。
最后,关闭SqlSession,完成测试。

编程思维:

整个过程分为:A(创建POJO类)A–> B(创建Mapper接口) B --> C(创建Mapper XML文件或注解) C --> D(创建测试类)D
不必纠结内部的哪个知识点我还没学过,先用了再说。本身的内容就十分的多了,需要以练促学;
这次的案例主要用到:ss

  1. 抽象和封装:创建POJO类和Mapper接口,将数据和数据访问逻辑进行抽象和封装。POJO类用于封装数据,Mapper接口用于定义数据访问方法。这样可以将复杂的业务逻辑和数据操作进行分离,提高代码的可维护性和可读性。
  2. 模块化和组件化:将代码组织成不同的包和类,实现模块化和组件化的设计。POJO包和Mapper包分别用于存放不同类型的类,实现了代码的模块化。这样可以更好地组织和管理代码,提高代码的可重用性和可扩展性。
  3. 面向对象思维:创建POJO类和Mapper接口,采用面向对象的思维来设计和实现代码。POJO类用于封装数据,具有属性和方法,符合面向对象的封装特性。Mapper接口用于定义与数据库交互的方法,符合面向对象的抽象和封装特性。
  4. 测试驱动开发思维:编写测试方法,先定义测试用例和预期结果,然后编写代码来满足测试用例的要求。这种思维方式强调先编写测试,再编写代码的开发流程,可以提高代码的质量和稳定性。
  5. 依赖注入思维:通过使用@Autowired注解将Mapper接口注入到测试类中,实现了依赖注入的思维。这样可以在测试方法中直接使用Mapper接口的实例,而不需要手动创建和管理对象。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值