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语言的一个重要特性,支持用户自定义异常类型来满足特定的业务需求,并通过异常处理机制帮助程序员提高代码的可读性和可维护性。本文将介绍Java自定义异常的简单示例,帮助读者了解Java自定义异常的基本使用方法和常见案例。 为什么需要自定义异常? Java语言支持多种异常类型,如IllegalArgumentException、Null…

    Java 2023年5月27日
    00
  • JNI语言基本知识

    JNI(Java Native Interface)是Java虚拟机提供的一个接口,允许Java程序调用本地C/C++方法或者本地C/C++程序调用Java方法。在进行JNI开发时,需要了解JNI语言的一些基本知识,下面是详细攻略: JNI语言基本知识 1. JNI开发环境搭建 在进行JNI开发前,需要安装C/C++ 编译器和Java开发工具包(JDK)。同…

    Java 2023年5月26日
    00
  • Struts2实现多文件上传功能

    第一步:引入依赖在项目的 pom.xml 文件中添加以下依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1&lt…

    Java 2023年5月20日
    00
  • Spring Security基于数据库实现认证过程解析

    下面我将为您讲解Spring Security基于数据库实现认证过程的详细攻略,包含以下几个方面: 理解Spring Security的基本概念 使用Spring Security的主要步骤和流程 基于数据库实现Spring Security的认证过程 1. 理解Spring Security的基本概念 Spring Security是一个被广泛使用的Jav…

    Java 2023年5月20日
    00
  • 深入浅析Java常用的格式化Json工具类

    深入浅析Java常用的格式化Json工具类 什么是Json JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和生成。JSON是基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。 Jav…

    Java 2023年5月26日
    00
  • Java泛型在集合使用与自定义及继承上的体现和通配符的使用

    Java泛型是Java SE 5的一项新特性,用于解决类型安全问题和减少代码重复。通过使用泛型,可以在编译时捕获类型错误,并实现代码复用的目的。泛型主要体现在集合使用、自定义及继承和通配符的使用上。 Java泛型在集合使用上的体现 Java集合框架中的泛型被广泛地应用于ArrayList、LinkedList、HashSet、HashMap等类中。具体体现如…

    Java 2023年5月26日
    00
  • 使用java -jar修改SpringBoot中application.properties的配置项

    在讲解前我先简单介绍一下 java -jar 命令和SpringBoot中的 application.properties 文件。 java -jar 命令是使用Java虚拟机(JVM)运行jar包中的程序的命令,可以用于运行普通Java应用程序和Spring Boot应用程序。application.properties 是Spring Boot应用程序用…

    Java 2023年5月19日
    00
  • JAVA如何调用Shell脚本

    Java 调用 Shell 脚本可以通过 Java 的 Runtime 类或者 ProcessBuilder 类来实现。 通过 Runtime 类调用 Shell 脚本 Java Runtime 类提供了访问 Java 应用程序运行时环境的方法。下面是通过 Runtime 类调用 Shell 脚本的示例代码: import java.io.BufferedR…

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