idea快速创建springbootWeb项目
详细步骤如下
1)创建项目
2)选择springboot版本
3)添加web依赖
4)添加Thymeleaf
5)添加lombok依赖
然后点击create进入下一步
双击pom.xml文件
6)添加mybatis-plus依赖
这里使用的springboot版本比较新,mybatis-plus-boot-starter 不兼容 ,需要一下导入一下依赖
<!--导入mybatis-plus--> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.7</version><exclusions><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></exclusion></exclusions> </dependency> <!-- mybatis-spring --> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version> </dependency>
依赖导入成功
7)导入mysql驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
8)配置application.yml文件
把applicaiton.propitious删除创建application.yml
spring:application:name: xijidatasource:url: jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghaiusername: root #数据库登录名password: root #数据库密码driver-class-name: com.mysql.cj.jdbc.Drivermybatis-plus:mapper-locations: classpath:mapper/*.xml
9)在mysql中 ==》 创建数据库users==》创建表user
CREATE TABLE `user` (`userid` int NOT NULL AUTO_INCREMENT COMMENT '用户id',`username` varchar(255) DEFAULT NULL COMMENT '用户名字',`userPassword` varchar(255) DEFAULT NULL COMMENT '用户密码',PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
创建完毕之后如下
10)创建包
1.创建controller包
依次创建如下包结构
2.controller包下的代码如下
package com.xiji.springbootweb.controller;import com.xiji.springbootweb.entiy.User;import com.xiji.springbootweb.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@Controller
public class UserController {@ResourceUserService userService;@GetMapping("/")public String index(){return "index";}@GetMapping("/list")public String list(Model model){List<User> list = userService.list();model.addAttribute("list", list);return "model";}
}
@Controller注解用来标注controller层
@Resource用来注入容器中的组件
@Autowired 这个也可以用来注入组件
3.entiy包下的代码如下
package com.xiji.springbootweb.entiy;import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {@TableField("userid")private int userid;@TableField("username")private String username;@TableField("userPassword")private String userPassword;
}
@Data用来生成get,set方法
@NoArgsConstructor用来生成无参构造方法
@AllArgsContructor用来生成全参构造
@TableName() 数据库表名
@TableField() 数据表列名
4.mapper包下的代码如下
package com.xiji.springbootweb.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiji.springbootweb.entiy.User;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface UserMapper extends BaseMapper<User> {
}
@mapper用来标注持久层
UserMapper 继承 BaseMapper<实体> 原因里面有很多已经实现的方法
5.service包下impl包的代码如下
package com.xiji.springbootweb.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiji.springbootweb.entiy.User;
import com.xiji.springbootweb.mapper.UserMapper;
import com.xiji.springbootweb.service.UserService;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {}
@service用来表组service层的
UserServiceImpl 继承Service<Mapper,实体> 实现 UserService 原因里面有很多已经实现的方法
6.service包下的代码
package com.xiji.springbootweb.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.xiji.springbootweb.entiy.User;public interface UserService extends IService<User> {
}
UserService继承 IService 接口
7.resource下mapper代码如下
<?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.xiji.springbootweb.mapper.UserMapper"></mapper>
8.resource下templates代码如下
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body ><div class="bgStyle"><h1>这是主页</h1></div>
</body>
</html>
9.resource下model页的代码
<html>
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><div><h1 > 这是list页面</h1><h1 th:text="${list}"></h1></div>
</body>
</html>
11)点击启动
12)访问localhost:8080
13)访问localhost:8080/list
需要自己往表中添加数据