使用IDEA创建Springboot Java web项目
创建项目
在 idea 中新建一个项目,选择 Spring Initializr,填入项目名,其他选项默认即可
作为一个简单的web项目,用到的东西该选的选一下,后期也是可以加的
点击finish后,idea会自动远程下载用到的jar包
进入项目之后就可以看到整个结构
但是现在服务还是不能启动的,需要配置数据库
需要配置数据库
配置文件在 resources 下,这里使用 yml 文件
server:
port: 9001
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
注意:yaml文件中不要出现注释
启动服务
配置好之后就可以启动web服务了
console窗口会显示启动详情
访问配置端口就可以看到前端页面了,因为没有写功能,是一个错误界面
添加web控制器
接下来去写web页面,java 目录就是放web项目代码的地方,在com.example.springdemo文件夹下新建一个controller文件夹,然后创建一个控制器
package com.example.springdemo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@RequestMapping("/test")
public String getName(){
return "this is a test page";
}
}
这就是一个简单的接收get请求的控制器
接下来看看json数据的接收与返回,因为在Java中一切皆对象,所以要新建一个文件
在这个文件中新建一个对象
然后按快捷键alt+insert生成Constructor、Setter、Getter方法
这个时候再去看控制器,让他返回animal对象
@RestController
public class UserController {
@RequestMapping("/test")
public Animal getName(){
return new Animal("dog",6);
}
}
在去访问之前的路由,可以看到返回的是json数据,我的chrome安装了json viewer插件,所以是这个显示效果
数据库操作
可以看到之前我们返回的是一个animal对象,其实就可以换成数据库查询返回数据
基本步骤
- 建立实体类,跟数据库表字段保持一致
- 建立mapper接口,定义要操作数据库的动作
- 建立mapper的xml文件,写具体的SQL语句
- 建立service类,处理业务逻辑
- 在controller类中展示处理的结果
1.建立实体类
在com.example.springdemo目录下新建一个文件夹,因为我数据库test中有一个admin表所以我就新建Admin文件
public class Admin {
private int uid;
private String name;
private String pass;
}
补充setter、getter
要注意字段和数据库保持一致
2.建立mapper接口
用接口的形式来写,AdminMapper是对 Admin 类的操作,新建mapper文件夹,新建AdminMapper接口
public interface AdminMapper {
List<Admin> findAll();
}
3.建立xml文件,引入mybatis
在resources文件夹下创建mapper文件夹,创建AdminMapper.xml,写具体的SQL语句
<?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.example.springdemo.mapper.AdminMapper">
<select id="findAll" resultType="com.example.springdemo.entity.Admin">
select * from admin;
</select>
</mapper>
id 必须和前边的一致,resultType是返回值的类型
4.建立service类
@Service
public class AdminService {
@Autowired
private AdminMapper adminMapper;
public List<Admin> findAll(){
return adminMapper.findAll();
}
}
AdminMapper加上注解
@Mapper
public interface AdminMapper {
List<Admin> findAll();
}
5.在controller类中返回结果
@RestController
public class AdminController {
@Autowired
private AdminService adminService;
@RequestMapping("/get")
public List<Admin> getAdmin(){
return adminService.findAll();
}
}
将数据全部打印出来了
|