秦皇岛网站开发哪家好百度网盘搜索引擎盘多多
本文介绍了如何在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: devthymeleaf:view-names: /*cache: falseprefix: /WEB-INF/html
② application-dev.yml
server:#指定服务端口port: 8080spring:datasource:#替换成MySQL账户username: ******#替换成MySQL密码password: ******#替换成数据库名url: jdbc:mysql://localhost:3306/******?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTCdriver-class-name: com.mysql.jdbc.Drivermybatis:mapper-locations: classpath:mappers/*Mapper.xmltype-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 {@Resourceprivate 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.javapackage 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{@Resourceprivate UserDao userDao;@Overridepublic Long getTotal(Map<String, Object> map) {return userDao.getTotal(map);}
}
⑤ UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//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项目的全部教程,如果有疑问,或者过程中出现解决不了的问题,欢迎评论区留言。