• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

LinkL1

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

IDEA使用springboot+mybatis实现增删改查(CRUD)功能

1. 创建springboot项目

File --> New -->Projiect

 

 next后选择下面这几个本次需要用到的依赖

 

项目创建完毕,pom文件中是我们需要的依赖,如果想要加入其他依赖可以自己去maven仓库找,再copy到pom文件中刷新一下maven就可以用了

maven仓库地址:https://mvnrepository.com/

 

 

创建springboot web项目的基本架构controller(控制层),service(服务层),entity(存放实体类),dao(数据链路层),具体使用方法后面会说

 

 

配置数据库

 

 

 

连接数据库 

在resource文件下的application.properties 文件中配置:

# 应用名称 创建的项目名称
spring.application.name=demo_crud
# 应用服务 WEB 访问端口号
server.port=8080
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址  test是自己的数据库名称
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
# 数据库用户名和密码: spring.datasource.username=root spring.datasource.password=root 

#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis.mapper
-locations=classpath:mybatis/*.xml

 

2.编写CRUD代码

创建entity实体

在entity文件下创建User实体类,添加它的属性,属性需要与数据库中的信息一致

 

 

 

package com.example.demo_crud.entity;

public class User {
    /*
     * 用户属性
     * */
    public Integer id;
    public String username;
    public String password;
}

mapper数据访问层(实现对数据库的访问)

在dao文件下创建一个UserMapper接口(注意是interface不是class),这个mapper接口是用来写sql语句与数据库进行交互的

 

然后在UserMapper里定义了几个我想要实现的方法

 

 

package com.example.demo_crud.mapper;

import com.example.demo_crud.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {

    // 查询数据库中所有信息
     List<User> getAll();

    // 根据ID查询其中一条数据
     User getUserById(int id);

    // 根据ID删除数据库中信息
     boolean deleteById(int id);

    // 增加一条数据
     boolean insert(User user);

    // 改变数据库中一条数据
     boolean updateById(int id);
}

 

在resource文件下创建一个mybatis文件,再在mybatis文件下创建一个UserMapper.xml格式的文件,我们要在这个UserMapper.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.demo_crud.dao.UserMapper">
    <!--getAll 查询所有数据-->
    <select id="getAll" resultType="com.example.demo_crud.entity.User">
        select *
        from user
    </select>
    <!--getUserById 根据ID查询数据-->
    <select id="getUserById" resultType="com.example.demo_crud.entity.User">
        select *
        from user
        where id=#{id}
    </select>
    <!--deleteById 根据ID删除一条数据-->
    <delete id="deleteById" parameterType="com.example.demo_crud.entity.User">
        delete from user
        where id = #{id}
    </delete>
    <!--insert 增加一条数据-->
    <insert id="insert" parameterType="com.example.demo_crud.entity.User">
        insert into user (id,username,password)
        values(#{id},#{username},#{password})
    </insert>
    <!--update 根据ID改变一条数据-->
    <update id="updateById" parameterType="com.example.demo_crud.entity.User">
        update user
        set username=#{username},password=#{password}
        where id = #{id}
    </update>
</mapper>

 

Service服务层(处理业务逻辑)

主要用于编写业务逻辑:在service下创建UserService,编写服务层的业务逻辑

 

 

 

 

 

 

 

package com.example.demo_crud.service;

import com.example.demo_crud.mapper.UserMapper;
import com.example.demo_crud.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
@Autowired
UserMapper userMapper;

// 查询数据库中所有信息
public List<User> getAll(){

return userMapper.getAll();
}

// 根据ID查询其中一条数据
public User getUserById(int id){

return userMapper.getUserById(id);
}

// 根据ID删除数据库中信息
public boolean deleteById(int id){
    // 用于判断sql语句是否执行
boolean flag = false;
try{
userMapper.deleteById(id);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}

// 增加一条数据
public boolean insert(User user){
boolean flag = false;
try {
userMapper.insert(user);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}

// 改变数据库中一条数据
public boolean updateById(int id){
boolean flag = false;
try {
userMapper.updateById(id);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
}

 

contrlooer控制层(前后端交互,数据处理)

在controller文件下创建UserController

 

 

 

 

 

 

 


package com.example.demo_crud.controller;

import com.example.demo_crud.entity.User;
import com.example.demo_crud.service.UserService;
import javafx.css.Styleable;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class UserController {
@Autowired
UserService userService;
// 查询数据库中所有信息
@GetMapping("/getAll")
@ResponseBody
public List<User> getAll() {
return userService.getAll();
}

//根据ID查询其中一条数据
@GetMapping("/getUserById")
@ResponseBody
public User getUserById(int id) {
return userService.getUserById(id);
}

// 根据ID删除数据库中信息
@GetMapping("/deleteById")
@ResponseBody
public boolean deleteById(int id){
return userService.deleteById(id);
}

// 增加一条数据
@GetMapping("/insert")
@ResponseBody
public boolean insert(User user){
return userService.insert(user);
}

//改变数据库中一条数据
@GetMapping("/updateById")
@ResponseBody
public boolean updateById(int id){
return userService.updateById(id);
}
}
 

 

 

接口测试

这里我们的增删改查就基本完成了,接下来是接口测试,我用的Swagger , 没用过的话可以看看我的另外一篇Springboot集成Swagger的文章。也可以直接在路由上访问自己写的接口。

 

 

 

 

 

posted on 2022-03-12 15:59  LinkL1  阅读(1200)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3