使用idea创建到编写接口(springboot+mybatis+前端)(幼儿级别教学)

目录

创建

创建项目后。拉进idea中。即可开始编写。

先配mysql的连接

entity写数据与数据库实体类一一对应

写mapper接口,

在application.properties配置mybatils扫描mapper的路径

定义接口路径,调用方法,拿到对象

进阶:post新增请求:

进阶:put更新数据(根据id修改)

进阶:delete删除数据(根据id删除)

进阶:get(根据id查询)


*注意:代码拷贝进去,有些import没加,自己鼠标移动上去自己加一下。

创建

https://start.spring.io/

创建项目后。拉进idea中。即可开始编写。

  1. 先配mysql的连接

  2. entity写数据与数据库实体类一一对应

  3. 写mapper接口,

  4. 在application.properties配置mybatils扫描mapper的路径

  5. 定义接口路径,调用方法,拿到对象

在项目的application.properties中配置连接数据库:

如下,粘贴进去改一改。

//访问地址:8080,自己改喜欢的,不冲突的
server.port=8080
//数据库连接地址,localhost:3306,数据库名字lan,后面无关紧要
spring.datasource.url=jdbc:mysql://localhost:3306/lan?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
//数据库用户名
spring.datasource.username=blue
//数据库密码
spring.datasource.password=blue12345
//必填,拷贝进去就行
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

 添加文件夹:controller(对外提供接口),entity,mapper

 在DemoApplication里面填写扫描mapper文件夹下的文件代码:

关键句就是@MapperScan(“com.example.demo.mapper”),其他默认就行

@SpringBootApplication
//MapperScan让mybatils扫描mapper文件
@MapperScan("com.example.demo.mapper")
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

在UserMapper接口中编写数据库查询逻辑:user就是表内的表单,你的表单是什么就是写什么

图例:看最下面那个user,就是下面对应的select * from user的user

public interface UserMapper {
    //注解加sql语句的方式来查询
    @Select("select * from user")
  //findAll()查询所有数据库的对象
    List<User> findAll();
}

创建实体类User,在User中编写数据库一一对应的数据字段类型:

import lombok.Data;

import javax.swing.*;
//springboot中通过@Data即可实现get,set,所以不用再生成get,set,直接写个@Data
@Data
public class User {
    private Integer id;
    private String name;
    private String address;
    private Integer age;
    private String sex;
    private String phone;
}

在UserController中编写接口地址和方式(土话:就是用来写数据库数据和前端交互的方法):

//这个注解是会把所有数据渲染成json
@RestController
//接口地址this.url+"/user"
//下面这个注解是指数据请求的最基础路径
@RequestMapping("/user")
public class UserController {
    //引入UserMapper这个接口
    @Resource
    UserMapper userMapper;
    //调用UserMapper内的方法把userMapper.findAll()返回给List<User>
    //这个list为接口路径,调用需要这么写:this.url+"/user/list"
    @GetMapping("/list")
    public List<User> getUser(){
        return userMapper.findAll();
    }
}

你想吐槽为什么不按顺序写?????=>{

        我只是忘了,懒得改了

}

进阶:post新增请求:

UserController,java

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
//接口地址this.url+"/user"
@RequestMapping("/user")
public class UserController {
    @Resource
    UserMapper userMapper;
    @GetMapping
    public List<User> getUser(){
        return userMapper.findAll();
    }
//重点代码如下
    @PostMapping
//@RequestBody,把传递过来的转为json
    public String addUser(@RequestBody User user){
       userMapper.save(user);
        return "success";
    }
}

UserMapper.java

package com.example.demo.mapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

public interface UserMapper {
    //注解加sql语句的方式来查询
    @Select("select * from login")
    //findAll()查询所有数据库的对象
    List<User> findAll();
//重点代码
 //注解加sql语句的方式来添加
    @Update("INSERT INTO `user`(`name`,`address`,`age`,`sex`,`phone`) VALUES (#{name},#{address},#{age},#{sex},#{phone})")
    @Transactional
    void save(User user);
}

启动服务器通过

http://localhost:8080/user并传递给他一个body就可以调用,如图

Postman软件:如果报500错误,你数据库id没自增,如果是415,你的传递没有选择json,如果是400,你的传参有问题,比如单引号和双引号。

 一个post新增的接口就写好了

进阶:put更新数据(根据id修改)

同上在UserController,java添加

  @PutMapping
    public String updateUser(@RequestBody User user){
        userMapper.updateById(user);
        return "success";
    }

在UserMapper.java

  @Update("update user set name=#{name},address=#{address},age=#{age},sex=#{sex},phone=#{phone} where id =#{id}")
    @Transactional
    void updateById(User user);

启动服务器通过

http://localhost:8080/user并传递给他一个body就可以调用,如图

Postman软件:

进阶:delete删除数据(根据id删除)

 同上在UserController,java添加

   @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable("id") long id){
        userMapper.deleteById(id);
        return "success";
    }

在UserMapper.java

 @Delete("delete from user where id = #{id}")
    void deleteById(long id);

启动服务器通过

http://localhost:8080/user/{id}并传递给他一个body就可以调用,如图

Postman软件:

进阶:get(根据id查询)

同上在UserController,java添加

 @GetMapping("/{id}")
        public User findById(@PathVariable("id") long id){
            return userMapper.findById(id);
        }

在UserMapper.java

  @Select("select * from user where id =#{id}")
    User findById(long id);

启动服务器通过

http://localhost:8080/user/{id}并传递给他一个body就可以调用,如图

Postman软件:

 改日补充

数据表结构:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值