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 参数无

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值