JavaEE Spring MyBatis如何一步一步实现数据库查询功能

一、概述
JavaEE 是一个企业级应用开发框架,Spring 是 JavaEE 中最常用的框架之一,MyBatis 是一款优秀的 ORM 框架,通过使用这三个框架,可以轻松实现一个 JavaEE 企业级应用。本文将以一个简单的文章阅读网站为例,介绍 JavaEE Spring MyBatis 如何一步一步实现数据库查询功能。

二、环境准备
1. JDK 1.8 及以上版本
2. MySQL 数据库(或其他数据库)
3. Intellij IDEA(或其他 Java IDE)
4. Maven

三、创建数据库
在 MySQL 数据库中执行以下 SQL 语句创建需要的表:

CREATE TABLE `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

四、使用 Maven 创建项目
在 Intellij IDEA 中使用 Maven 创建一个新项目,将以下依赖项添加到 pom.xml 文件中:

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.9</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.6</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
</dependencies>

并创建以下文件夹:

- src/main/java/com/example/demo/DemoApplication.java(主类)
- src/main/java/com/example/demo/controller/ArticleController.java(控制器)
- src/main/java/com/example/demo/model/Article.java(数据模型)
- src/main/java/com/example/demo/mapper/ArticleMapper.java(MyBatis 数据库访问类)
- src/main/resources/application.properties(配置文件)
- src/main/resources/mapper/ArticleMapper.xml(MyBatis SQL 映射文件)

五、实现数据库访问层
1. ArticleMapper.java

创建 ArticleMapper.java 文件,用于在 Java 中访问数据库:

@Mapper
public interface ArticleMapper {
    @Select("SELECT * FROM `article`")
    List<Article> findAll();
}
  1. ArticleMapper.xml

创建 ArticleMapper.xml 文件,用于将 SQL 映射到 ArticleMapper.java 接口中:

<mapper namespace="com.example.demo.mapper.ArticleMapper">
    <select id="findAll" resultType="com.example.demo.model.Article">
        SELECT * FROM `article`
    </select>
</mapper>

六、实现业务逻辑层
1. ArticleService.java

创建 ArticleService.java 文件,定义数据访问的方法:

@Service
public class ArticleService {
    private final ArticleMapper articleMapper;
    public ArticleService(ArticleMapper articleMapper) {
        this.articleMapper = articleMapper;
    }

    public List<Article> findAll() {
        return articleMapper.findAll();
    }
}

七、实现控制层
1. ArticleController.java

创建 ArticleController.java 文件,用于处理前端用户请求:

@Controller
public class ArticleController {
    private final ArticleService articleService;
    public ArticleController(ArticleService articleService) {
        this.articleService = articleService;
    }

    @GetMapping("/article")
    public String index(Model model) {
        List<Article> articles = articleService.findAll();
        model.addAttribute("articles", articles);
        return "article/index";
    }
}
  1. 配置视图

在 resources 文件夹下创建 templates 文件夹,创建 article 文件夹,并添加 index.html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文章列表</title>
</head>
<body>
    <h1>文章列表</h1>
    <ul>
        <li th:each="article : ${articles}" th:text="${article.title}"></li>
    </ul>
</body>
</html>

八、配置数据库连接
在 application.properties 文件中添加以下内容:

# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8mb4&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

# MyBatis 配置
mybatis.type-aliases-package=com.example.demo.model
mybatis.mapper-locations=classpath:mapper/*.xml

九、运行程序
运行 DemoApplication.java 后,在浏览器中访问 http://localhost:8080/article 即可看到文章列表。

十、示例说明
本文实现的功能是查询文章列表。其中,数据库表 article 包含字段 id、title 和 content。通过创建 ArticleMapper.java 和 ArticleMapper.xml,实现了数据访问层。通过创建 ArticleService.java,调用数据访问层方法,并在控制层中返回视图,实现了业务逻辑层和表示层。最后,通过在 application.properties 中配置数据库连接,实现了数据库连接和 MyBatis 配置。

以下是部分示例代码:

@Mapper
public interface ArticleMapper {
    @Select("SELECT * FROM `article`")
    List<Article> findAll();
}

@Service
public class ArticleService {
    private final ArticleMapper articleMapper;
    public ArticleService(ArticleMapper articleMapper) {
        this.articleMapper = articleMapper;
    }

    public List<Article> findAll() {
        return articleMapper.findAll();
    }
}

@Controller
public class ArticleController {
    private final ArticleService articleService;
    public ArticleController(ArticleService articleService) {
        this.articleService = articleService;
    }

    @GetMapping("/article")
    public String index(Model model) {
        List<Article> articles = articleService.findAll();
        model.addAttribute("articles", articles);
        return "article/index";
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaEE Spring MyBatis如何一步一步实现数据库查询功能 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Java参数传递实现代码及过程图解

    Java参数传递实现代码及过程图解 在Java中,方法传递参数是通过按值传递(pass-by-value)实现的。简单来说,就是在传递参数的时候,将参数的值复制一份给方法内部进行操作,不会直接影响原来的变量值。以下是Java参数传递的一些细节和过程图解: 基本数据类型的参数传递 基本数据类型的参数传递就是将值复制给方法内部进行操作,不会对原来的变量值产生影响…

    Java 2023年5月30日
    00
  • java实现动态数组

    下面是关于Java实现动态数组的完整攻略: 什么是动态数组? 动态数组,简称为ArrayList,是在Java中使用较为广泛的数据结构之一。它是一种可变数组,可以根据需要自动扩展数组的大小。与传统的数组不同,动态数组的大小是可以根据需求动态增长或者缩小的。 Java中动态数组的实现 在Java中,动态数组的实现是通过内部维护一个Object数组来实现。当需要…

    Java 2023年5月26日
    00
  • springboot用户数据修改的详细实现

    SpringBoot用户数据修改的详细实现 在SpringBoot中,我们可以使用Spring Data JPA来实现用户数据的修改。以下是一个详细的实现攻略: 1. 添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId&g…

    Java 2023年5月15日
    00
  • Java中的代码重构如何避免异常?

    Java中的代码重构是一种重要的技术手段,可以提高代码的可读性、可维护性和可测试性。其中,如何避免异常是非常关键的一点。以下是详细的攻略: 理解代码重构的目的和原则 代码重构的目的是改善代码的质量,不影响代码功能。代码重构的原则包括:确保代码的正确性、消除代码的冗余、提高代码的可读性、提高代码的可维护性和可测试性。 意识到异常的重要性 异常是Java中一个非…

    Java 2023年4月27日
    00
  • Spring Boot 整合mybatis 使用多数据源的实现方法

    下面我们就来详细讲解一下“Spring Boot 整合 mybatis 使用多数据源的实现方法”: 什么是多数据源 在一个系统中,通常会使用多个数据库,比如一个系统中需要同时操作 MySQL 和 Oracle 数据库。这就需要在系统中使用多个数据源,分别连接并操作不同的数据库。 Spring Boot 整合 mybatis 使用多数据源的实现方法 添加相关依…

    Java 2023年5月20日
    00
  • SpringMVC接收页面表单参数

    SpringMVC是一个非常流行的Java Web框架,它提供了很多方便的功能。其中之一就是接收页面表单参数。本文将详细讲解如何使用SpringMVC接收页面表单参数,并提供两个示例来说明如何实现这一过程。 示例一:接收单个参数 以下是一个示例演示如何使用SpringMVC接收单个参数: 创建一个名为myproject的Maven项目。 添加SpringMV…

    Java 2023年5月17日
    00
  • Spring Boot统一异常处理详解

    下面将以“Spring Boot统一异常处理详解”为主题,为大家详细讲解该主题的完整攻略。 一、什么是 Spring Boot 统一异常处理 Spring Boot 统一异常处理指在 Spring Boot 应用程序中,通过设置全局异常处理器,来捕获和处理抛出的异常信息。通过统一异常处理,我们可以将系统中可能出现的各种异常信息进行分类、归纳和统一处理,并返回…

    Java 2023年5月26日
    00
  • Spring Boot 配置和使用多线程池的实现

    下面是关于Spring Boot配置和使用多线程池的实现的完整攻略。 概述 Spring Boot是一个开源的JavaEE(现在改名为Jakarta EE)快速开发框架,由于其快速开发和开箱即用的特性,受到了广泛的欢迎。在Spring Boot中,我们可以非常容易地配置和使用多线程池。使用多线程池可以显著提高应用程序的性能,特别是在处理IO密集型任务时。 添…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部