栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

新手入门2------springboot项目集成mybatis操作数据库简单案例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

新手入门2------springboot项目集成mybatis操作数据库简单案例

补充上文说。。。。。。。。

一、准备环境

0、确保有mysql环境,然后设计数据库(我用的是mysql5.7)

表结构如下:

复制下列sql,运行导入数据即可

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for l_depart_info
-- ----------------------------
DROp TABLE IF EXISTS `l_depart_info`;
CREATE TABLE `l_depart_info`  (
  `object_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '部门id',
  `depart_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
  `parent_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父级部门',
  PRIMARY KEY (`object_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of l_depart_info
-- ----------------------------
INSERT INTO `l_depart_info` VALUES ('1', 'wy集团', NULL);
INSERT INTO `l_depart_info` VALUES ('1001', '人事行政部', '1');
INSERT INTO `l_depart_info` VALUES ('1002', '商务部', '1');
INSERT INTO `l_depart_info` VALUES ('2001', '研发二组', '1005');

SET FOREIGN_KEY_CHECKS = 1;

完成应该是这样的

 

1、修改pom.xml文件,增加以下配置

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        
        
        
            mysql
            mysql-connector-java
            
            5.1.42
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        

2、修改配置文件application.yml

补充一点:在项目中配置多套环境的配置方法

因为现在一个项目有好多环境,开发环境,测试环境,准生产环境,生产环境,每个环境的参数不同,所以我们就可以把每个环境的参数配置到yml文件中,这样在想用哪个环境的时候只需要在主配置文件中将用的配置文件写上就行

笔记:在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识,比如:

application-dev.yml:开发环境
application-test.yml:测试环境
application-prod.yml:生产环境
至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

修改之前的application.yml文件如下:

spring:
  profiles:
    #dev表示的是我想用开发环境
    active: dev

新建一个开发环境的application-dev.yml如下:

注意:如果是mysql8.0的版本,将driver-class-name项中的连接改成com.mysql.cj.jdbc.Driver

server:
  # port访问的端口
  port: 8888
  servlet:
    context-path: /

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/csdn?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver

mybatis:
  # 操作数据库的文件路径根目录下的mapper文件夹下单所有xml文件
  mapper-locations: classpath:mapper
public class DepartInfo implements Serializable {
    private String objectId;//部门id
    private String departName;//部门名称
    private String parentId;//父级部门id

    public String getObjectId() {
        return objectId;
    }

    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    public String getDepartName() {
        return departName;
    }

    public void setDepartName(String departName) {
        this.departName = departName;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }
}

2、创建mapper层和配置文件

在mappe包下创建DepartInfoMapper接口

import com.wy.pojo.DepartInfo;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface DepartInfoMapper {
    
    //根据id查询单条数据
    DepartInfo selectById(String id);

    //查询所有信息
    List findAll();
}

在resource下的mapper文件下创建DepartInfoMapper.xml(注意:名称必须与接口保持一致)





    
    
    
        
        
        
    

    
    
    
        select * from l_depart_info
    

3、创建Service层

在Service包下创建DepartInfoService接口

import com.wy.pojo.DepartInfo;
import java.util.List;


public interface DepartInfoService {
    //根据id查询单条数据
    DepartInfo selectById(String id);
    
    //查询所有数据
    List findAll();
}

在impl包下创建实现类DepartInfoServiceImpl类

import com.wy.mapper.DepartInfoMapper;
import com.wy.pojo.DepartInfo;
import com.wy.service.DepartInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class DepartInfoServiceImpl implements DepartInfoService {

    //自动注入DepartInfoMapper对象
    @Autowired
    private DepartInfoMapper departInfoMapper;

    @Override
    public DepartInfo selectById(String id) {
        //调用方法
        return departInfoMapper.selectById(id);
    }

    public List findAll(){
        //调用方法
        return departInfoMapper.findAll();
    }
}

4、修改上次的Controller

import com.wy.pojo.DepartInfo;
import com.wy.service.DepartInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RestController
@RequestMapping("/wy")
public class TestController {

    @Autowired
    private DepartInfoService departInfoService;

    //restful风格
    @GetMapping("/selectById/{id}")
    public DepartInfo selectById(@PathVariable("id")String id){
        DepartInfo departInfo = departInfoService.selectById(id);
        return departInfo;
    }

    @GetMapping("/findAll")
    public List findAll(){
        List list = departInfoService.findAll();
        return list;
    }
}
三、测试运行

debug启动项目,在浏览器输入http://127.0.0.1:8888/wy/selectById/1001

(我是因为安装了json插件,所以会这么好看,按理说应该展示出来的是JSON字符串)

查询部门编号为1001的信息

 查询所有部门信息(http://127.0.0.1:8888/wy/findAll)

写在最后(后端代码写完了,剩下的交给前端小姐姐吧 。。。。有空在把增删改写一下,还有注解版的吧)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434575.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号