SpringBoot-搭建集成Mybatis的项目

本文介绍了如何在IntelliJ IDEA中使用SpringBoot和Mybatis构建Java Web应用程序。通过本文的学习,读者将了解如何使用IntelliJ IDEA快速搭建一个基于SpringBoot和Mybatis的Java Web应用程序,提高开发效率。IntelliJ IDEA是一款功能强大的Java集成开发环境(IDE),提供了各种工具和插件,可帮助开发者快速构建各种类型的Java应用程序。

一、搭建SpringBoot-Mybatis项目

1、新建SpringBoot项目

没有下载过IntelliJ IDEA的朋友,可以参考安装教程(Windows安装IntelliJ IDEA)

  • ① 服务器URL换成国内镜像站https://start.aliyun.com/
  • ② 输入项目名称 ProjectManage
  • ③ 指定项目存储位置(根据需要勾选是否创建Git仓库)
  • ④ 类型选maven
  • ⑤ 组我自定义的com,默认是com.example
  • ⑥ 软件包只写com就可以了,这个我当时没注意,在后面改掉了
  • ⑦ 重要!!!选择 Java8,这是目前 Java 三个长期维护版本里,维护计划最长的,至少到2026年,Java8 也是目前企业里最常用的版本,电脑上没有装 JDK 的可以参考我之前的文章(怎样在Windows系统下载安装JDK?),这里 JDK 1.8是 Java8 的配套 JDK。

Spring Boot 版本选一个尽可能低的版本,3.0 以上好像会有兼容问题,这里我选的 2.7.11 。
依赖项添加四个:

  • ① Lombok
  • ② Spring Web
  • ③ MySQL Driver (这个是MySQL驱动,如果其他数据库换成其他驱动)
  • ④ Mybatis Framework
  • ⑤ Spring Data Redis (Access + Driver) (后面如果需要用到redis的话可以一并勾选)

勾选好后,点击创建。

创建成功后,项目目录如下:

pom.xml是Maven的配置文件,如果需要导入新的jar包,只需要在这里面配置,然后刷新,即可自动下载导入。


2、新建application.yml和application-dev.yml

resources下删除原有的application-properties配置文件,新建两个文件:

① application.yml
spring:
  profiles:
    active: dev
 
  thymeleaf:
    view-names: /*
    cache: false
    prefix: /WEB-INF/html

② application-dev.yml
server:
  #指定服务端口
  port: 8080
 
spring:
  datasource:
    #替换成MySQL账户
    username: ******
    #替换成MySQL密码
    password: ******
    #替换成数据库名
    url: jdbc:mysql://localhost:3306/******?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver
 
mybatis:
  mapper-locations: classpath:mappers/*Mapper.xml
  type-aliases-package: com.entity
 
#showSql
logging:
  level:
    com:
      example:
        mapper : debug

这里指定了com.entity,所有我们要新建好对应的文件夹。


二、创建项目文件

按照控制器->服务层->持久层->映射文件->实体的顺序依次编写

1、创建文件夹目录

java/com下四个:controller、service(及子目录impl)、dao、entity
resources下一个:mappers


2、创建项目文件

按照下图依次创建java文件:

① UserController.java
package com.controller;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.User;
import com.service.UserService;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
 
@RestController
public class UserController {
 
    @Resource
    private UserService userService;
 
    @RequestMapping("user")
    public String getTotal(User user,HttpServletRequest request)throws Exception{
        Map<String,Object> map = new HashMap<>();
        Long userCount =userService.getTotal(map);
        return userCount.toString();
    }
 
}
② UserDao.java
package com.dao;
 
import java.util.List;
import java.util.Map;
import com.entity.User;
 
public interface UserDao {
    public Long getTotal(Map<String,Object> map);
}
User.java

package com.entity;
 
public class User {
    private Integer id; // 编号
    private String userName; // 用户名
    private String password; // 密码
    private String trueName; // 真实姓名
    private String email; // 邮件
    private String phone; // 联系电话
    private String roleName; // 角色名称 系统管理员 销售主管 客户经理 高管
 
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getTrueName() {
        return trueName;
    }
    public void setTrueName(String trueName) {
        this.trueName = trueName;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getRoleName() {
        return roleName;
    }
    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }
}
③ UserService.java
package com.service;
 
import java.util.List;
import java.util.Map;
import com.entity.User;
 
public interface UserService {
    public Long getTotal(Map<String,Object> map);
}
④ UserServiceImpl.java
package com.service.impl;
 
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.dao.UserDao;
import com.entity.User;
import com.service.UserService;
 
@Service("userService")
public class UserServiceImpl implements UserService{
 
    @Resource
    private UserDao userDao;
 
    @Override
    public Long getTotal(Map<String, Object> map) {
        return userDao.getTotal(map);
    }
}
⑤ UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.UserDao">
 
    <resultMap type="User" id="UserResult">
        <result property="id" column="id"/>
        <result property="userName" column="userName"/>
        <result property="password" column="password"/>
        <result property="trueName" column="trueName"/>
        <result property="email" column="email"/>
        <result property="phone" column="phone"/>
        <result property="roleName" column="roleName"/>
    </resultMap>
 
    <select id="getTotal" parameterType="Map" resultType="Long">
        select count(*) from t_user
    </select>
</mapper>

3、启动类添加MapperScan注解

启动类前添加@MapperScan(“com.dao”)注解,这样才能检索到dao层文件。


三、测试项目是否成功运行

1、启动类的同级或子目录下创建测试控制器

启动配置文件在.idea文件夹下面,里面指定了启动类(包含main函数的类)。启动类默认是 xxxApplication (xxx为项目名),所有的类想要被访问,必须放在启动类的同级或子目录下,否则会因为找不到而提示404。

接着,我们创建测试控制器HelloWorldController。

package com.controller;
 
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloWorldController {
    @GetMapping("hello")
    public String hello() {
        return "hello world";
    }
}

2、运行项目,看测试控制器是否可以访问并正确运作

右上方运行项目,输入localhost:8080/hello,如果按照预期返回值,便是搭建成功。


四、测试项目的MyBatis是否生效

1、通过 "/user" 接口测试

同样,我们启动项目。

输入localhost:8080/user,访问我们基于MyBatis的控制器。

2、检查测试结果

这里返回的是我们getTotal()函数获得的t_user表的行数,表明已经成功连接到数据库,我们Mybatis的搭建成功了。

以上就是我们IntelliJ IDEA搭建SpringBoot-Mybatis项目的全部教程,如果有疑问,或者过程中出现解决不了的问题,欢迎评论区留言。

  • 23
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot是一个用于快速搭建Java应用的开源框架,而Mybatis则是一个优秀的持久层框架。针对Spring Boot多模块集成Mybatis,我们可以通过以下步骤实现: 1. 创建一个新的Spring Boot项目,在项目的pom.xml文件中添加依赖。需要添加Spring Boot依赖和Mybatis依赖。可以在Maven中央库中找到相关依赖的版本信息,将其添加到pom.xml中。 2. 创建Mybatis配置文件,可以将其命名为mybatis-config.xml。配置文件用于配置Mybatis的一些参数,如数据库连接信息、映射文件路径等。 3. 在Spring Boot的配置文件(application.properties或application.yml)中,配置数据库连接的相关信息,如数据库名称、用户名、密码等。 4. 创建实体类和Mapper接口。实体类用于映射数据库表中的数据,而Mapper接口用于定义数据库操作的方法。 5. 在Mapper接口中使用Mybatis的注解或XML配置,定义SQL语句对数据库进行CRUD操作。 6. 在Service层中调用Mapper接口中定义的方法对数据库进行操作,在Service层加入注解来标记为Spring管理的Bean。 7. 在Controller层中调用Service层的方法,处理请求和响应。 通过以上步骤,我们可以实现Spring Boot多模块集成Mybatis的开发。这样可以将应用程序按照功能划分为多个模块,使代码结构更清晰、易于维护。每个模块都可以专注于特定的功能,便于团队协作开发。同时,Mybatis的强大功能可以简化数据库操作,提升开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Damon小智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值