SpringBoot利用Mybatis实现数据库信息的crud

  整个项目是使用Mybatis操作的数据库(Mybatis在前面也有总结使用的方法:https://www.cnblogs.com/zhaochunhui/p/11372793.html

  项目代码上传github:https://github.com/H-Designer/SpringBoot-Mybatis-CRUD

  项目在创建的时候,要选好我们需要的依赖的模块,web,mysql,jdbc,mybatis

  数据库连接的是虚拟机里面的,更换一下地址的ip就行

  

#数据库信息的相关配置
spring:
  datasource:
    url: jdbc:mysql://192.168.43.197:3306/cache
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
#驼峰命名法的启用
mybatis:
  configuration:
    map-underscore-to-camel-case: true

数据库的连接信息根绝实际的情况进行填写就行

项目实现的是员工信息的crud,创建一个employee的实体类

package com.example.cache.bean;
public class Employee {
    private Integer id;
    private String lastName;
    private String email;
    private Integer gender; //性别 1男  0女
    private Integer dId;
    public Employee() {
        super();
    }
    public Employee(Integer id, String lastName, String email, Integer gender, Integer dId) {
        super();
        this.id = id;
        this.lastName = lastName;
        this.email = email;
        this.gender = gender;
        this.dId = dId;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Integer getGender() {
        return gender;
    }
    public void setGender(Integer gender) {
        this.gender = gender;
    }
    public Integer getdId() {
        return dId;
    }
    public void setdId(Integer dId) {
        this.dId = dId;
    }
    @Override
    public String toString() {
        return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender + ", dId="
                + dId + "]";
    }
}

用Mybatis操作数据库需要制定Mapper文件。有两种方式,一种是在mapper类文件上加上mapper的注解:@Mappaer

                          另一种是在启动函数或者是在配置文件中加上:@MapperScan("com.example.cache.mapper")具体的文件的路径根据实际情况修改

package com.example.cache.mapper;
import com.example.cache.bean.Employee;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface EmployeeMapper  {
    @Select("select * from employee where id=#{id}")
    public Employee getEmpById(Integer id);

    @Update("update employee set lastName=#{lastName},email=#{email},gender=#{gender},d_id=#{dId} where id=#{id}")
    public void updateEmp(Employee employee);

    @Delete("delete from employee where id=#{id}")
    public void deleteEmp(Integer id);

    @Insert("insert into employee(lastName,email,gender,d_id) values(#{lastName},#{email},#{gender},#{dId})")
    public void insertEmp(Employee employee);
}

这些就是对数据库信息的修改的形式,增删改查的底层的实现

然后就是service的编写,实现具体的增删改查的类的编写:

package com.example.cache.service;

import com.example.cache.bean.Employee;
import com.example.cache.mapper.EmployeeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class EmployeeService {
    @Autowired
    EmployeeMapper employeeMapper;
    //查询员工信息
    public Employee getEmp(Integer id){
        System.out.println("查询"+id+"号员工信息");
        Employee emp = employeeMapper.getEmpById(id);
        return emp;
    }
    //删除员工信息
    public void deleteEmp(Integer id){
        System.out.println("删除"+id+"号员工信息");
        employeeMapper.deleteEmp(id);
    }
    //增加员工信息
    public void insertEmp(Employee employee){
        System.out.println("增加新的员工信息");
        employeeMapper.insertEmp(employee);
    }
    //修改员工信息
    public void updateEmp(Employee employee){
        System.out.println("修改"+employee.getId()+"号员工信息");
        employeeMapper.updateEmp(employee);
    }
}

具体的方法实现以后,就是在发送请求的时候,解析请求,实现具体的方法的调用:这就是Controller的内容了;

package com.example.cache.controller;
import com.example.cache.bean.Employee;
import com.example.cache.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class EmpController {
    @Autowired
    EmployeeService employeeService;
    //查询员工信息
    @GetMapping("/getEmp/{id}")
    public Employee getEmployee(@PathVariable("id") Integer id){
        Employee emp = employeeService.getEmp(id);
        return emp;
    }
    //删除员工信息
    @GetMapping("/deleteEmp/{id}")
    public void deleteEmployee(@PathVariable("id") Integer id){
         employeeService.deleteEmp(id);
    }
    //增加员工信息
    @GetMapping("/insertEmp")
    //这里,在传参的时候,只需要将床底的参数的名称和Bean里面的参数的名称一致即可,employee就可以接收到所有的参数信息
    public void insertEmployee(Employee employee){
        System.out.println(employee);
        employeeService.insertEmp(employee);
    }
    //修改员工信息
    @GetMapping("/updateEmp/{id}")
    public void updateEmployee(Employee employee,@PathVariable("id") Integer id){
        System.out.println(employee);
        employeeService.updateEmp(employee);
    }
}

这里需要值得一提的是,在我们的insert和update操作的时候,需要将员工的全部信息传递过去,这时候 不需要每一个参数进行一一的接收,我们只需要在我们传递参数的时候,将变量名和bean里面的变量名保持一致,这样就可以以实体类的方式,将全部的参数信息接收到。

原文地址:https://www.cnblogs.com/zhaochunhui/p/11392761.html

时间: 2024-10-11 10:32:15

SpringBoot利用Mybatis实现数据库信息的crud的相关文章

spring-boot加mybatis实现数据库访问

项目结构 1.maven <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/

SpringBoot整合Mybatis访问数据库和阿里巴巴数据源

1.pom文件加入依赖 <!--加入mybatis依赖--> <!--引入satrter--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency>

springboot之mybatis注解形式

springboot整合mybatis对数据库进行访问,本实例采用注解的方式,如下: pom.xml文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent> <pr

springboot+springmvc+mybatis项目整合

介绍: Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 特点: 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标,健康检查和外部配置 6. 绝对没有代码生成和对XML没有要求配置 搭建springboot项目我推荐大家用idea,我现在用的是idea,所以接下来我是用idea搭建项目的  一.

SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统

1.前言本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例. 使用技术:SpringBoot.mybatis.shiro.thymeleaf.pagehelper.Mapper插件.druid.dataTables.ztree.jQuery 开发工具:intellij idea 数据库:mysql.redis 2.表结构还是是用标准的5张表来展现权限.如下图:image 分别为用户表,角色表,资源表,用户角色表,角色资源表.在这个demo中使用了mybat

kotlin + springboot整合mybatis操作mysql数据库及单元测试

项目mybatis操作数据库参考: http://how2j.cn/k/springboot/springboot-mybatis/1649.html?p=78908 junit对controller层测试参考: https://www.cnblogs.com/PollyLuo/p/9630822.html mysql版本:5.5.62 点击下载 1.kotlin版springboot项目创建 访问https://start.spring.io/, 创建项目demo(maven + kotlin

SpringBoot14 SpringBoot整合mybatis

1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lombok相关依赖 2.1 编写测试类 技巧01:项目创建成功后先将mybatis和mysql相关的jar注释掉,在到控制层中创建一个简单的测试类来确认项目是否创建成功 package cn.test.demo.mybatis_demo02.controller; import org.springfr

Springboot系列之Springboot与Mybatis整合

前言 技术博客那么多,为什么自己整理呢?太过零散的知识点不易记忆,且查找的时候也不是太方便,眼过千遍不如手过一遍的操作一遍,即使Springboot已经很好的整合了各项的技术框架,但实际操作的时候也会发现一些问题.我会将可能出现的问题记录一下,博文时刻更新. 预备知识: Springboot 2.0.6 Mybatis 3.4.6 Maven 3.5.3 Lomlok 1.16.18(可以参考:lombok 简化 Java 代码) Mysql 5.1.47 代码地址: 博文只是列举核心操作步骤,

SpringBoot学习10:springboot整合mybatis

需求:通过使用 SpringBoot+SpringMVC+MyBatis 整合实现一个对数据库中的 t_user 表的 CRUD 的操作 1.创建maven项目,添加项目所需依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>