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
View Code

 

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 }
View Code

 

 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 }
View Code

 

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 }
View Code

 

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 }
View Code

 

至此,数据准备完毕

完整文件: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

 

posted @ 2020-08-09 23:56  菜小鱼~  阅读(692)  评论(0编辑  收藏  举报