一篇超详细的Spring Boot对jdbc支持的文章

 更新时间:2021年07月27日 10:28:14   作者:牛哄哄的柯南  
JdbcTemplate 是在JDBC API基础上提供了更抽象的封装,并提供了基于方法注解的事务管理能力。 通过使用SpringBoot自动配置功能并代替我们自动配置beans,下面给大家介绍spring boot中使用JdbcTemplate相关知识,一起看看吧

项目结构

在这里插入图片描述

pom.xml

pom.xml:

<?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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring-boot-02</artifactId>
        <groupId>com.keafmd</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>spring-boot-08</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 解析jsp类库  -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- JDBC-启动器, 默认的数据源 HikariCP -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!-- JDBC-启动器, 默认的数据源 HikariCP -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

</project>

application.yml

server:
  port: 80
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/ssm-java1?useSSL=false
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 18044229

启动类

package com.keafmd;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * Keafmd * * @ClassName: App08 * @Description: * @author: 牛哄哄的柯南 * @Date: 2021-04-08 11:48 * @Blog: https://keafmd.blog.csdn.net/ */@SpringBootApplicationpublic class App08 {    public static void main(String[] args) {        SpringApplication.run(App08.class, args);    }}

Dao层

UserDao:

package com.keafmd;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * Keafmd
 *
 * @ClassName: App08
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-08 11:48
 * @Blog: https://keafmd.blog.csdn.net/
 */

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

Service层

IUserService :

package com.keafmd.service;
import java.util.List;
/**
 * Keafmd
 *
 * @ClassName: IUserService
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-08 11:59
 * @Blog: https://keafmd.blog.csdn.net/
 */
public interface IUserService {
    List list();
}

UserServiceImpl:

package com.keafmd.service.impl;
import com.keafmd.dao.UserDao;
import com.keafmd.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * Keafmd
 *
 * @ClassName: UserServiceImpl
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-08 12:00
 * @Blog: https://keafmd.blog.csdn.net/
 */
@Service
public class UserServiceImpl implements IUserService {
    @Autowired
    UserDao userDao;
    @Override
    public List list() {
        return userDao.userList();
    }
}

Controller层

UserController:

package com.keafmd.controller;
import com.keafmd.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Keafmd
 *
 * @ClassName: UserController
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-08 18:04
 * @Blog: https://keafmd.blog.csdn.net/
 */
@RestController
public class UserController {
    @Autowired
    IUserService userService;
    /**
     * http://127.0.0.1/userlist
     * @return
     */
    @RequestMapping("userlist")
    List UserList(){
        return userService.list();
    }
}

测试类测试

UserDaoTest:

package com.keafmd.dao;
import com.keafmd.App08;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest(classes = App08.class)
class UserDaoTest {
    @Autowired
    UserDao userDao;
    @Test
    public void test(){
        List userlist = userDao.userList();
        for (Object o : userlist) {
            System.out.println(o);
        }
    }
}

运行test方法的效果:

在这里插入图片描述

运行启动类,测试效果

运行启动类,访问:http://127.0.0.1/userlist

在这里插入图片描述

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • SpringBoot 使用 Sa-Token 完成注解鉴权功能(权限校验)

    SpringBoot 使用 Sa-Token 完成注解鉴权功能(权限校验)

    Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题,这篇文章主要介绍了SpringBoot使用Sa-Token完成注解鉴权功能,需要的朋友可以参考下
    2023-05-05
  • RocketMQ中的消费者启动流程解读

    RocketMQ中的消费者启动流程解读

    这篇文章主要介绍了RocketMQ中的消费者启动流程解读,RocketMQ是一款高性能、高可靠性的分布式消息中间件,消费者是RocketMQ中的重要组成部分,消费者负责从消息队列中获取消息并进行处理,需要的朋友可以参考下
    2023-10-10
  • java开发非公平锁不可打断源码示例解析

    java开发非公平锁不可打断源码示例解析

    这篇文章主要为大家介绍了java开发非公平锁不可打断源码示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • SpringBoot Session共享实现图解

    SpringBoot Session共享实现图解

    这篇文章主要介绍了SpringBoot Session共享实现图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Idea工具中使用Mapper对象有红线的解决方法

    Idea工具中使用Mapper对象有红线的解决方法

    mapper对象在service层有红线,项目可以正常使用,想知道为什么会出现这种情,接下来通过本文给大家介绍下Idea工具中使用Mapper对象有红线的问题,需要的朋友可以参考下
    2022-09-09
  • Java反射之类的实例对象的三种表示方式总结

    Java反射之类的实例对象的三种表示方式总结

    下面小编就为大家带来一篇Java反射之类的实例对象的三种表示方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Java实现分页的几种方法详细解析

    Java实现分页的几种方法详细解析

    这篇文章主要介绍了Java实现分页的几种方法详细解析,在Java中想实现分页功能有几种常用的方法,今天我们就来详细解析一下,文中提供了解决思路和部分实现代码,需要的朋友可以参考下
    2023-11-11
  • Idea导入多个maven项目到同一目录下的方法示例

    Idea导入多个maven项目到同一目录下的方法示例

    这篇文章主要介绍了Idea导入多个maven项目到同一目录下,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • java交换排序之鸡尾酒排序实现方法

    java交换排序之鸡尾酒排序实现方法

    这篇文章主要介绍了java交换排序之鸡尾酒排序实现方法,实例分析了排序的原理与相关的实现技巧,需要的朋友可以参考下
    2015-02-02
  • Java异常处理中的一些特殊情况举例

    Java异常处理中的一些特殊情况举例

    这篇文章主要介绍了Java异常处理中的一些特殊情况举例,分别是只用try和finally不用catch,以及finally语句不被执行的情况,需要的朋友可以参考下
    2015-11-11

最新评论