关于Spring Boot对jdbc的支持问题

项目结构

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/
 */

@SpringBootApplication
public class App08 {

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

}

Dao层

UserDao:

package com.keafmd.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Keafmd
 *
 * @ClassName: UserDao
 * @Description:
 * @author: 牛哄哄的柯南
 * @Date: 2021-04-08 11:47
 * @Blog: https://keafmd.blog.csdn.net/
 */
@Repository
public class UserDao {

    @Autowired
    JdbcTemplate jdbcTemplate;

    public List userList(){
        String sql ="select * from user";
        return jdbcTemplate.queryForList(sql);

    }
}

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

到此这篇关于Spring Boot对jdbc的支持的文章就介绍到这了,更多相关Spring Boot支持jdbc内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot2.0.0配置多数据源出现jdbcUrl is required with driverClassName的错误

    在Spring Boot 2.0配置多数据源和Spring Boot 1.5.x之前,一些配置及用法多少有些不同,其中一个问题就是"jdbcUrl is required with driverClassName."的错误 解决办法: 在配置文件中使用spring.datasource.jdbc-url,而不是通常使用的spring.datasource.url spring: datasource: master: jdbc-url: jdbc:postgresql://192.16

  • Spring JDBC的使用详解

    JDBC介绍 从这篇文章开始,我们将会介绍SpringBoot另外一个核心的技术,即数据库访问技术,提到数据访问,学习Java的同学瞬间能就想起JDBC技术,JDBC 是 Java Database Connectivity 的全称,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的一套标准的API,这套标准不同的数据库厂家之间共同准守,并提供各自的具体实现.如图所示: 这样设计的好处,就是Java程序只需要和JDBC API交互,从而屏蔽了访问

  • SpringBoot整合JDBC的实现

    简介 JDBC是最原基本的连接数据源的方式,在springboot中所有和数据源有关系的都在Spring Data家族中,所以我们看看springboot中如何使用JDBC来实现对数据库的增删改查操作. 简单使用 引入依赖 这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖: <dependencies> <!--jdbc--> <dependency> <groupId>org.springframew

  • Spring Boot 集成 Sharding-JDBC + Mybatis-Plus 实现分库分表功能

    一. Sharding-jdbc简介 " Sharding-jdbc是开源的数据库操作中间件:定位为轻量级Java框架,在Java的JDBC层提供的额外服务.它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架. 官方文档地址:https://shardingsphere.apache.org/document/current/cn/overview/ 本文demo实现了分库分表功能.如有错误,欢迎各位在评论中指出.不

  • Spring jdbc具名参数使用方法详解

    在jdbc的模板中使用具名参数: 1.就需要在之前的jdbc的例子中进行修改:需要在xml文件中重新配置一个bean.这是固定的格式.如下 对于使用具名参数而言.配置NamedParameterJdbcTemplate,该对象可以说使用具名参数.其没有无参数的构造器.所以必须为其构造器指定参数. 2.之后在test的稳健者哄.得到bean的对象.之后进行测试.具体的代码示例如下: 主要的区别是在sql语句的后边value中不在是问号.而是一下名字.之后通过map进行相应的赋值.最后通过具名函数的

  • SpringBoot多数据源配置详细教程(JdbcTemplate、mybatis)

    多数据源配置 首先是配置文件 这里采用yml配置文件,其他类型配置文件同理 我配置了两个数据源,一个名字叫ds1数据源,一个名字叫ds2数据源,如果你想配置更多的数据源,继续加就行了 spring: # 数据源配置 datasource: ds1: #数据源1 driver-class-name: com.mysql.jdbc.Driver # mysql的驱动你可以配置别的关系型数据库 url: jdbc:mysql://ip:3306/db1 #数据源地址 username: root #

  • 详解在spring中使用JdbcTemplate操作数据库的几种方式

    使用JdbcTemplate的步骤 1.设置spring-jdbc和spring-tx的坐标(也就是导入依赖) <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.7.RELEASE</version> </dependency> <dependency&

  • Spring JdbcTemplate整合使用方法及原理详解

    基本配置 JdbcTemplate基本用法实际上很简单,开发者在创建一个SpringBoot项目时,除了选择基本的Web依赖,再记得选上Jdbc依赖,以及数据库驱动依赖即可,如下: 项目创建成功之后,记得添加Druid数据库连接池依赖(注意这里可以添加专门为Spring Boot打造的druid-spring-boot-starter,而不是我们一般在SSM中添加的Druid),所有添加的依赖如下: <dependency> <groupId>com.alibaba</gro

  • 详解Springboot之整合JDBCTemplate配置多数据源

    一.前言 现在在我们的项目中,使用多数据源已经是很常见的,下面,这里总结一下springboot整合jdbcTemplate配置多数据源的代码示例,以方便以后直接使用. 二.配置文件 spring: datasource: datasourceone: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/eesy?serverTimezone=UTC&characterEncoding=utf8&u

  • Springboot jdbctemplate整合实现步骤解析

    一.创建项目导入依赖 1.1 1.2 1.3 二.创建service,pojo,controller 2.1 创建一个实体类User类属性userId,userName,userPwd 2.2 我这里sql语句直接写service层了 spring提供jdbctemplate的自动话配置,所以我们直接使用就好了, jdbctemplate提供的增删改都是update()方法 查询所有query(),有俩种方法, 第一种RowMapper<User>是查询数据库字段和类的属性名不一致的情况 第二

随机推荐