基于SpringBoot2开发WebApi(二)使用MyBatis连接MySQL数据库

1.依赖

在pom.xml中引入依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

2.druid使用

在项目中我们引入了druid用来管理连接数据库的线程池,在pom.xml中引入druid依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

关于druid还可以进行程序对数据库监控的目的,输入服务地址:http://localhost:8084/druid/datasource.html

3.配置文件

因为我这边为了方便的区分开发环境与测试环境,所以在创建了线上与线下的两个不同的配置文件

分别为:

application-dev.yml(开发环境配置)

application-prod.yml(生产环境配置)

然后在application.yml中方便的进行开发环境与生产环境的切换

开发环境配置

server:
  port: 8084

sim:
  config:
    #定时5分钟同步中移动接口数据
    sync300Interval: 300000
    #定时1天同步中移动接口数据
    sync86400Interval: 86400000

spring:
  datasource:
    name: mysql_sim
    type: com.alibaba.druid.pool.DruidDataSource
    #druid相关配置
    druid:
      #监控统计拦截的filters
      filters: stat
      driver-class-name: com.mysql.cj.jdbc.Driver
      #基本属性
      url: jdbc:mysql://192.168.1.39:3306/simmanager?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
      username: xxx
      password: 123456
      #配置初始化大小/最小/最大
      initial-size: 1
      min-idle: 1
      max-active: 20
      #获取连接等待超时时间
      max-wait: 60000
      #间隔多久进行一次检测,检测需要关闭的空闲连接
      time-between-eviction-runs-millis: 60000
      #一个连接在池中最小生存的时间
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 'x'
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      #打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
      pool-prepared-statements: false
      max-pool-prepared-statement-per-connection-size: 20
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.iot.sim.model

#MyBatis分页查询插件
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

以上准备工作完成后,后续我们开始编码实施

4.编码实施

首先在启动类里面增加注解@MapperScan("com.iot.simmanager.dao")

作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类

写个获取公司信息的实现示例

model包下增加AdminAgent类

package com.iot.simmanager.model;

import lombok.Data;

import java.io.Serializable;
import java.math.BigInteger;

/**
 * @author lenny
 */
@Data
public class AdminAgent implements Serializable {
    private BigInteger Id;
    private String AgentName;
    private String AgentCode;
    private String Address;
    private String Bank;
    private String BankNo;
    private String Contacts;
    private String Phone;
    private String Email;
    private String Fax;
    private String PostCode;
    private String AgentGUID;
    private String Describe;
    private String CreateTime;
    private BigInteger Creator;
}

这里用到了@Data注解,需要在pom.xml下进行依赖引入

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>

dao包下增加AdminAgentDao接口

package com.iot.simmanager.dao;

import com.iot.simmanager.model.AdminAgent;

import java.util.List;

/**
 * @author lenny
 */
public interface AdminAgentDao {
    /**
     * 查询公司列表
     * @return
     */
    List<AdminAgent> queryAdminAgentList();
}

service包下增加AdminAgentService

package com.iot.simmanager.service;

import com.iot.simmanager.dao.AdminAgentDao;
import com.iot.simmanager.model.AdminAgent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author lenny
 */
@Service
public class AdminAgentService {
    @Autowired
    private AdminAgentDao adminAgentDao;

    /**
     * 查询公司列表
     * @return
     */
    public List<AdminAgent> queryAdminAgentList()
    {
        List<AdminAgent> adminAgentList=adminAgentDao.queryAdminAgentList();
        return adminAgentList;
    }
}

最后再controller包增加AdminAgentController

package com.iot.simmanager.controller;

import com.iot.simmanager.model.AdminAgent;
import com.iot.simmanager.service.AdminAgentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author lenny
 */
@RestController
@RequestMapping("/agent")
public class AdminAgentController {
    @Autowired
    private AdminAgentService adminAgentService;

    @PostMapping(value = "queryAdminAgentList")
    public List<AdminAgent> queryAdminAgentList(){
        try {
            List<AdminAgent> adminAgentList = adminAgentService.queryAdminAgentList();
            return adminAgentList;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

使用Postman进行接口测试

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
标题:JAVA毕业设计之基于springboot的线上辅导班系统的开发与设计(springboot+mysql)完整源码资源介绍:本资源是一套完整的基于Spring Boot框架和MySQL数据库的线上辅导班系统源代码。该系统旨在提供一个简洁、高效的在线学习平台,供教师上传教学资料、开设课程,以及学生选课、参与在线学习等功能。系统采用流行的微服务架构,后端使用Spring Boot进行快速开发,配合MyBatis持久层框架实现数据的高效处理。前端界面友好,利用Thymeleaf模板引擎渲染页面,实现了良好的用户交互体验。核心功能包括:用户管理:注册、登录、权限验证,保证系统的安全性。课程管理:教师可发布新课程,更新课程内容,管理课程信息。学生学习:学生可浏览课程列表,选课,参与线上学习,查看学习进度。互动交流:提供论坛模块,支持学生和教师之间的讨论与答疑。数据统计:对课程的参与度、用户活跃度等关键数据进行统计分析。技术亮点:使用Spring Security进行安全控制,确保数据传输加密,防止未授权访问。利用JWT(JSON Web Tokens)处理用户的认证与授权,简化会话管理。引入Redis缓存机制,提升系统性能,减少数据库压力。采用RESTful API设计风格,确保接口的规范性和扩展性。代码遵循MVC模式,层次清晰,便于维护和扩展。适用场景:该线上辅导班系统适用于教育机构、个人教师或学校,希望快速搭建一个功能全面、操作简便的在线教育平台。通过此系统,能够有效提高教学资源的利用率,促进师生间的互动交流,优化教育资源配置。总结:本套线上辅导班系统源码是Java开发者进行毕业设计的优选项目,不仅能够帮助学习者深入理解Spring Boot和微服务架构的应用,还能够锻炼实际的项目开发能力。系统功能齐全,界面友好,是一个具备实战价值的综合性学习平台。
Vue2,ElementUI,SpringBootMybatisMySQL8.0是一组优秀的前后端技术组合。Vue2是一款流行的前端框架,具有响应式的数据绑定和组件化开发等特点,适合开发动态交互性强的单页面应用;ElementUI是一款基于Vue2的UI库,提供了一系列美观实用的组件,可快速搭建现代化的Web应用;SpringBoot是一款基于Spring框架的轻量级应用开发框架,使用简单,能够快速集成其他框架;Mybatis是一个优秀的ORM框架,能够极大地提高Java开发与SQL交互的效率,避免手写SQL语句的麻烦;MySQL8.0则是一个高性能、稳定性强的关系型数据库使用广泛。 结合这些技术进行登陆注册系统的开发,可以使用Vue2和ElementUI实现前端页面的效果,使用SpringBoot作为后端框架,利用MybatisMySQL8.0数据库进行访问。具体开发过程可以分为以下几步: 1. 后端开发使用SpringBoot框架搭建RESTful风格API接口,使用Mybatis框架访问MySQL8.0数据库,并实现用户登陆、注册以及对用户信息的增删改查等功能。 2. 前端开发使用Vue2和ElementUI完成前端页面的搭建,包括登陆、注册、用户信息管理等页面,并使用Axios等技术与后端进行数据传输。可以使用Vuex实现数据的状态管理和共享。 3. 接口实现:在前后端开发完成后,需要将后端的API接口与前端进行对接,实现数据的交互。可以使用Postman等工具测试和调试接口。 4. 系统上线:在完成开发后,需要对系统进行测试和调试,确保系统能够稳定运行并满足用户需求后,再进行部署上线。 综上,登陆注册Vue2 ElementUI SpringBoot Mybatis MySQL8.0的开发过程相对复杂,需要前后端开发人员精细的协作和技术储备,但使用这些优秀的技术组合可以有效提高开发效率和用户体验,是一种切实可行的开发方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鱼>

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值