IntelliJ IDEA创建Spring Boot + Mybatis
使用 IntelliJ IDEA创建Spring Boot + Mybatis,简单的数据插入、查询等,简单的demo步骤如下:
一、新建项目:
1.File -- New -- Project
2.选择 Spring Initializr ,点 Next
3.Group、Artifact、Name、Package自定义,点 Next
4.选择web、SQL 中的 spring web、MyBatis、MySql,点 Next
5. name自定义,点Finish
6.等待加载完(可能需要一段时间)后如图
7.增加包: bean controller mapper,如图
二、代码录入
1.新增表数据:
1 CREATE TABLE `test1` ( 2 `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 3 `user` varchar(50) DEFAULT NULL, 4 `name` varchar(50) DEFAULT NULL, 5 PRIMARY KEY (`id`) 6 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.增加文件 ResultMessage(bean目录下)、UserBean(bean目录下)、MyController(controller目录下)、UserMapper(mapper目录下)
3.application.properties 增加端口配置、mysql数据库连接

1 #端口号 2 server.port = 8082 3 4 #连接数据库配置 5 spring.datasource.url =jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC 6 spring.datasource.username = username 7 spring.datasource.password = password 8 spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
4.ResultMessage 文件:

1 package com.demo.springmybaits.demo.bean; 2 3 import java.io.Serializable; 4 import java.util.HashMap; 5 import java.util.Map; 6 7 public class ResultMessage implements Serializable { 8 private int code = 0; 9 private String message; 10 private Map<String, Object> attr = new HashMap(); 11 12 private ResultMessage() { 13 } 14 15 public static ResultMessage create() { 16 return new ResultMessage(); 17 } 18 19 public int getCode() { 20 return this.code; 21 } 22 23 public String getMessage() { 24 return this.message; 25 } 26 27 public void raise(int code, String message) { 28 this.code = code; 29 this.message = message; 30 } 31 32 public void put(String key, Object obj) { 33 this.attr.put(key, obj); 34 } 35 36 public Map<String, Object> getAttr() { 37 return this.attr; 38 } 39 }
5.UserBean 文件:

1 package com.demo.springmybaits.demo.bean; 2 3 public class UserBean { 4 5 /** 唯一标识 */ 6 private int id; 7 8 private String user; 9 10 private String name; 11 12 public int getId() { 13 return id; 14 } 15 16 public String getUser() { 17 return user; 18 } 19 20 public void setUser(String user) { 21 this.user = user; 22 } 23 24 public String getName() { 25 return name; 26 } 27 28 public void setName(String name) { 29 this.name = name; 30 } 31 32 @Override 33 public String toString() { 34 return "UserBean{" + 35 "id=" + id + 36 ", user='" + user + '\'' + 37 ", name='" + name + '\'' + 38 '}'; 39 } 40 }
6.MyController 文件:

1 package com.demo.springmybaits.demo.controller; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.web.bind.annotation.*; 5 import com.demo.springmybaits.demo.bean.ResultMessage; 6 import com.demo.springmybaits.demo.mapper.UserMapper; 7 import com.demo.springmybaits.demo.bean.UserBean; 8 9 10 @RestController 11 public class MyController { 12 13 @RequestMapping(value = "/", method = RequestMethod.GET) 14 public String helloWorld() { 15 return "hello world"; 16 } 17 18 @RequestMapping(value = "/", method = RequestMethod.POST) 19 public String postHttp() { 20 return "postHttp"; 21 } 22 23 24 private boolean isNotNull(@RequestParam(value = "user", required = true) String user, @RequestParam(value = "name", required = true) String name, ResultMessage resultMessage) { 25 if (user == null || user.equals("")){ 26 resultMessage.raise(-991,"user 不能为空"); 27 return true; 28 }else if(name == null || name.equals("")){ 29 resultMessage.raise(-992,"name 不能为空"); 30 return true; 31 } 32 return false; 33 } 34 35 @Autowired 36 private UserMapper userMapper; 37 38 /** 39 * 数据插入、查询 40 */ 41 @RequestMapping(value = "/createUserByPost", method = RequestMethod.POST) 42 public Object registerAccountByPost(@RequestParam(value = "user", required = true) String user, 43 @RequestParam(value = "name", required = true) String name) { 44 System.out.println("user:"+user+",name:"+name); 45 46 ResultMessage resultMessage = ResultMessage.create(); 47 48 /*判断user name空值*/ 49 if (isNotNull(user, name, resultMessage)) return resultMessage; 50 51 UserBean userBean = this.userMapper.getByUser(user); 52 if (userBean != null){ 53 resultMessage.raise(-994, "user 已存在"); 54 return resultMessage; 55 }else{ 56 resultMessage.put("user",user); 57 resultMessage.put("name",name); 58 resultMessage.raise(1,"success"); 59 60 userBean = new UserBean(); 61 userBean.setUser(user); 62 userBean.setName(name); 63 int createUser = this.userMapper.create(userBean); 64 System.out.println("新增成功:"+createUser); 65 return resultMessage; 66 } 67 } 68 69 /** 70 * 通过user查询信息 71 */ 72 @RequestMapping(value = "/getInfoByUser/{user}", method = RequestMethod.GET) 73 public Object getInfo(@PathVariable String user) { 74 UserBean userBean = this.userMapper.getByUser(user); 75 76 ResultMessage resultMessage = ResultMessage.create(); 77 78 if (userBean == null){ 79 resultMessage.raise(-1,"user不存在"); 80 return resultMessage; 81 } 82 83 resultMessage.put("user",userBean.getUser()); 84 resultMessage.put("name",userBean.getName()); 85 resultMessage.put("massage",userBean.toString()); 86 resultMessage.raise(1,"成功"); 87 88 System.out.println("user: "+user); 89 System.out.println("userBean:"+userBean.toString()); 90 return resultMessage; 91 } 92 93 /** 94 * 通过id查询信息 95 */ 96 @RequestMapping(value = "/getInfoById/{id}", method = RequestMethod.GET) 97 public Object getID(@PathVariable int id) { 98 UserBean userBean = this.userMapper.getById(id); 99 100 ResultMessage resultMessage = ResultMessage.create(); 101 102 if (userBean == null){ 103 resultMessage.raise(-1,"id不存在"); 104 return resultMessage; 105 } 106 107 resultMessage.put("user",userBean.getUser()); 108 resultMessage.put("name",userBean.getName()); 109 resultMessage.put("massage",userBean.toString()); 110 resultMessage.raise(1,"成功"); 111 112 return resultMessage; 113 } 114 115 116 }
7.UserMapper 文件:

1 package com.demo.springmybaits.demo.mapper; 2 3 import com.demo.springmybaits.demo.bean.UserBean; 4 import org.apache.ibatis.annotations.Insert; 5 import org.apache.ibatis.annotations.Mapper; 6 import org.apache.ibatis.annotations.Param; 7 import org.apache.ibatis.annotations.Select; 8 9 @Mapper 10 public interface UserMapper { 11 /**通过id查询*/ 12 @Select("SELECT * FROM test1 WHERE id = #{id}") 13 UserBean getById(@Param("id") int id); 14 15 /**通过user查询*/ 16 @Select("SELECT * FROM test1 WHERE user = #{user}") 17 UserBean getByUser(@Param("user") String user); 18 19 /**插入表记录*/ 20 @Insert("INSERT INTO test1(user,name) VALUES(#{user},#{name})") 21 int create(UserBean userBean); 22 }
至此,数据准备完毕
完整文件:https://gitee.com/caiwhy/springMybatisDemo
三、调试
1. get接口 http://127.0.0.1:8082/ 如图:
2.post接口 http://127.0.0.1:8082/ 如图:
3.post 接口,新增数据, http://127.0.0.1:8082/createUserByPost 如图:
4..get 接口,通过id获取信息, http://127.0.0.1:8082/getInfoById/2 如图:
5..get 接口,通过user获取信息, http://127.0.0.1:8082/getInfoByUser/张三user如图:
调试完成!
参考博客:https://blog.csdn.net/qq_33337504/article/details/77983793
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现