Java SpringBoot整合JSP和MyBatis的方法是什么

发布时间:2023-03-29 17:31:15 作者:iii
来源:亿速云 阅读:149

Java SpringBoot整合JSP和MyBatis的方法是什么

目录

  1. 引言
  2. SpringBoot简介
  3. JSP简介
  4. MyBatis简介
  5. 环境准备
  6. 创建SpringBoot项目
  7. 整合JSP
  8. 整合MyBatis
  9. 项目结构
  10. 编写代码
  11. 运行与测试
  12. 常见问题与解决方案
  13. 总结

引言

在现代Java开发中,SpringBoot已经成为最受欢迎的框架之一。它简化了Spring应用的初始搭建和开发过程,使得开发者能够快速构建独立的、生产级别的应用。JSP(Java Server Pages)是一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。

本文将详细介绍如何在SpringBoot项目中整合JSP和MyBatis,帮助开发者快速上手并构建高效的应用。

SpringBoot简介

SpringBoot是由Pivotal团队提供的全新框架,旨在简化新Spring应用的初始搭建以及开发过程。它采用了“约定优于配置”的理念,使得开发者能够快速启动和运行Spring应用。SpringBoot内置了Tomcat、Jetty等服务器,无需单独配置,极大地简化了部署过程。

JSP简介

JSP(Java Server Pages)是一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中。JSP页面在服务器端被编译成Servlet,然后由Servlet容器执行。JSP技术使得开发者能够轻松地将业务逻辑与表示层分离,提高了代码的可维护性。

MyBatis简介

MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

环境准备

在开始之前,确保你已经安装了以下工具: - JDK 1.8或更高版本 - Maven 3.x或更高版本 - IntelliJ IDEA或Eclipse IDE - MySQL数据库

创建SpringBoot项目

  1. 打开IntelliJ IDEA,选择File -> New -> Project
  2. 选择Spring Initializr,点击Next
  3. 填写项目信息,如GroupArtifactName等,点击Next
  4. 选择依赖项,包括Spring WebSpring Data JPAMySQL DriverThymeleaf等,点击Next
  5. 选择项目保存路径,点击Finish

整合JSP

  1. pom.xml中添加JSP依赖:

    <dependency>
       <groupId>org.apache.tomcat.embed</groupId>
       <artifactId>tomcat-embed-jasper</artifactId>
       <scope>provided</scope>
    </dependency>
    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>jstl</artifactId>
    </dependency>
    
  2. src/main/resources目录下创建application.properties文件,并添加以下配置:

    spring.mvc.view.prefix=/WEB-INF/views/
    spring.mvc.view.suffix=.jsp
    
  3. src/main目录下创建webapp/WEB-INF/views目录,用于存放JSP文件。

  4. 创建一个简单的JSP文件index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>SpringBoot JSP Example</title>
    </head>
    <body>
       <h1>Hello, SpringBoot JSP!</h1>
    </body>
    </html>
    
  5. 创建一个Controller类HomeController.java

    @Controller
    public class HomeController {
       @RequestMapping("/")
       public String home() {
           return "index";
       }
    }
    

整合MyBatis

  1. pom.xml中添加MyBatis依赖:

    <dependency>
       <groupId>org.mybatis.spring.boot</groupId>
       <artifactId>mybatis-spring-boot-starter</artifactId>
       <version>2.1.4</version>
    </dependency>
    
  2. application.properties中添加数据库配置:

    spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
    spring.datasource.username=your_username
    spring.datasource.password=your_password
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
  3. 创建一个实体类User.java

    public class User {
       private Long id;
       private String name;
       private String email;
    
    
       // Getters and Setters
    }
    
  4. 创建一个Mapper接口UserMapper.java

    @Mapper
    public interface UserMapper {
       @Select("SELECT * FROM users WHERE id = #{id}")
       User findById(Long id);
    
    
       @Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")
       void insert(User user);
    
    
       @Update("UPDATE users SET name=#{name}, email=#{email} WHERE id=#{id}")
       void update(User user);
    
    
       @Delete("DELETE FROM users WHERE id=#{id}")
       void delete(Long id);
    }
    
  5. 创建一个Service类UserService.java

    @Service
    public class UserService {
       @Autowired
       private UserMapper userMapper;
    
    
       public User findById(Long id) {
           return userMapper.findById(id);
       }
    
    
       public void save(User user) {
           if (user.getId() == null) {
               userMapper.insert(user);
           } else {
               userMapper.update(user);
           }
       }
    
    
       public void delete(Long id) {
           userMapper.delete(id);
       }
    }
    
  6. 创建一个Controller类UserController.java

    @Controller
    public class UserController {
       @Autowired
       private UserService userService;
    
    
       @GetMapping("/user/{id}")
       public String getUser(@PathVariable Long id, Model model) {
           User user = userService.findById(id);
           model.addAttribute("user", user);
           return "user";
       }
    
    
       @PostMapping("/user")
       public String saveUser(@ModelAttribute User user) {
           userService.save(user);
           return "redirect:/user/" + user.getId();
       }
    
    
       @GetMapping("/user/delete/{id}")
       public String deleteUser(@PathVariable Long id) {
           userService.delete(id);
           return "redirect:/";
       }
    }
    

项目结构

src/main/java
    com.example.demo
        controller
            HomeController.java
            UserController.java
        entity
            User.java
        mapper
            UserMapper.java
        service
            UserService.java
src/main/resources
    application.properties
src/main/webapp
    WEB-INF
        views
            index.jsp
            user.jsp

编写代码

  1. src/main/webapp/WEB-INF/views目录下创建user.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
       <title>User Details</title>
    </head>
    <body>
       <h1>User Details</h1>
       <p>ID: ${user.id}</p>
       <p>Name: ${user.name}</p>
       <p>Email: ${user.email}</p>
       <a href="/user/delete/${user.id}">Delete</a>
    </body>
    </html>
    
  2. src/main/resources目录下创建data.sql文件,用于初始化数据库: “`sql CREATE TABLE users ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL );

INSERT INTO users (name, email) VALUES (‘John Doe’, ‘john.doe@example.com’); “`

运行与测试

  1. 启动SpringBoot应用,访问http://localhost:8080/,你将看到Hello, SpringBoot JSP!的页面。
  2. 访问http://localhost:8080/user/1,你将看到用户详细信息页面。
  3. 你可以通过表单提交新用户信息,或者删除现有用户。

常见问题与解决方案

  1. JSP页面无法访问:确保application.properties中的spring.mvc.view.prefixspring.mvc.view.suffix配置正确,并且JSP文件存放在WEB-INF/views目录下。
  2. MyBatis无法映射实体类:确保实体类的字段与数据库表的列名一致,或者使用@Results注解进行手动映射。
  3. 数据库连接失败:检查application.properties中的数据库配置是否正确,确保数据库服务已启动。

总结

通过本文的介绍,你应该已经掌握了如何在SpringBoot项目中整合JSP和MyBatis。SpringBoot的简洁性和MyBatis的强大功能使得开发高效且灵活。希望本文能够帮助你在实际项目中快速上手并构建出优秀的应用。

推荐阅读:
  1. Java应用架构演化的示例分析
  2. java设计模式中的策略模式与状态模式实例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java springboot jsp

上一篇:Redis bigkeys命令会阻塞问题如何解决

下一篇:VSCode怎么调试PhpStudy里的代码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》