SpringBoot数据访问——整合JDBC

SpringBoot数据访问——整合JDBC

1.导入依赖

pom.xml文件导入MySQL驱动和官方提供的jdbc启动器的依赖

        <!--        jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--        MySQL 驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

2.配置数据源

在application.proterties或者新建一个application.yml配置文件,配置MySQL数据源:

默认的application.proterties

#mysql数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://*.*.*.*:3306/数据库名称
spring.datasource.username=账号
spring.datasource.password=密码

yml格式:

#配置数据源
spring:
  datasource:
    username: 账号
    password: 密码
    url: jdbc:mysql://*.*.*.*:3306/数据库名称
    driver-class-name: com.mysql.jdbc.Driver

3.测试数据连接

test包下的测试类编写相关代码,测试该数据连接:

测试默认情况下的数据源与连接

@SpringBootTest
class SpringbootJdbcApplicationTests {

    //自动注入数据源
    @Autowired
    DataSource dataSource;

    @Test
    void contextLoads() {
        System.out.println(dataSource.getClass());//输出默认数据源
        Connection connection = null;
        try {
            connection = dataSource.getConnection();
            System.out.println(connection);//输出该连接
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

测试结果:

默认以com.zaxxer.hikari.HikariDataSource连接池作为数据源

class com.zaxxer.hikari.HikariDataSource

连接的输出结果:

HikariProxyConnection@1730595945 wrapping com.mysql.jdbc.JDBC4Connection@4b6d92e

4.编写操作数据的相关代码

建立controller包,包下建立一个JdbcController类:写一个查询所有单词的控制器,数据已提前准备好。

以一个简单的查询操作为例子:

/**
 * Springboot数据访问——整合基本JDBC
 */
@Controller
public class JdbcController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    //存储预返回页面的结果对象
    private Map<String, Object> result;

    @ResponseBody
    @GetMapping("/findAllWord")
    public Map<String, Object> findAllWord() {
        result = new HashMap<>();
        List<Map<String, Object>> mapList= jdbcTemplate.queryForList("SELECT ENGLISH,CHINESE FROM word");
        result.put("data",mapList);
        return result;
    }

}

其中JdbcTemplate类是Spring框架对数据库的操作在jdbc上面做了深层次的封装。

主要方法有:

  • execute方法:可以用于执行任何SQL语句,一般用于执行数据定义语言(DDL)语句;
  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
  • query方法及queryForXXX方法:用于执行查询相关语句;比如上述代码中的queryForList()方法
  • call方法:用于执行存储过程、函数相关语句。

5. 测试接口

使用postman测试localhost:8080/findAllWord 请求方式GET 参数无

在这里插入图片描述

发布了83 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_42391904/article/details/104302506