设为首页 加入收藏

TOP

day14-JdbcTemplate(一)
2023-07-25 21:43:29 】 浏览:65
Tags:day14-JdbcTemplate

JdbcTemplate

看一个实际需求:

如果希望使用spring框架做项目,Spring框架如何处理对数据库的操作呢?

  • 方案一:使用之前的JdbcUtils类

  • 方案二:spring提供了一个操作数据库(表)的功能强大的类JdbcTemplate。我们可以通过ioc容器来配置一个JdbcTemplate对象,使用它来完成对数据库表的各种操作。

1.基本介绍

JdbcTemplate APIs:下载的文档-spring-5.3.8-dist\spring-framework-5.3.8\docs\javadoc-api\index.html

  1. 通过Spring可以配置数据源,从而完成对数据表的操作
  2. JdbcTemplate 是 spring 提供的访问数据库的技术。可以将 JDBC 的常用操作封装为模板方法。
image-20230130183802247

2.使用实例

需求说明:使用 Spring 的方式来完成 JdbcTemplate 配置和使用

一、搭建环境:

  1. 引入JdbcTemplate 需要的jar包(Spring5)

    image-20230130182521048
  2. 创建数据库spring和表monster

-- 创建数据库
CREATE DATABASE spring;
USE spring;
-- 创建表monster
CREATE TABLE monster(
id INT PRIMARY KEY,
`name` VARCHAR(64) NOT NULL DEFAULT '',
skill VARCHAR(64) NOT NULL DEFAULT ''
)CHARSET=utf8;
INSERT INTO monster VALUES(100,'青牛怪','吐火');
INSERT INTO monster VALUES(200,'黄袍怪','吐烟');
INSERT INTO monster VALUES(300,'蜘蛛怪','吐丝');
image-20230130184434097

二、配置DataSource

  1. 创建配置文件src/jdbc.properties(key值随意)

在spring的ioc容器中,可以通过属性文件给bean注入值

jdbc.user=root
jdbc.pwd=123456
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
  1. 创建容器配置文件src/JdbcTemplate_ioc.xml
<!--引入外部的属性文件-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--配置数据源对象-DataSource-->
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource">
    <!--给数据源对象配置属性值-->
    <property name="user" value="${jdbc.user}"/>
    <property name="password" value="${jdbc.pwd}"/>
    <property name="driverClass" value="${jdbc.driver}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
</bean>
  1. 测试连接
@Test
public void testDatasourceByJdbcTemplate() throws SQLException {
    //获取容器
    ApplicationContext ioc = 
        new ClassPathXmlApplicationContext("JdbcTemplate_ioc.xml");
    //因为 ComboPooledDataSource实现了 DataSource接口,这里使用接口类型来获取对象
    DataSource dataSource = ioc.getBean(DataSource.class);
    Connection connection = dataSource.getConnection();
    System.out.println("获取到连接connection=" + connection);
    connection.close();
}

成功连接:

image-20230130194736188
  1. 配置 JdbcTemplate_ioc.xml,将数据源分配给 JdbcTemplate bean对象
<!--配置JdbcTemplate对象-->
<bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate">
    <!--给JdbcTemplate对象配置DataSource属性-->
    <property name="dataSource" ref="dataSource"/>
</bean>

2.1添加数据

@Test
public void addDataByJdbcTemplate() {
    //获取容器
    ApplicationContext ioc =
            new ClassPathXmlApplicationContext("JdbcTemplate_ioc.xml");
    //获取JdbcTemplate对象
    JdbcTemplate jdbcTemplate = ioc.getBean(JdbcTemplate.class);
    
    //1.添加方式
    String sql = "insert into monster values(400,'红孩儿','风火轮')";
    jdbcTemplate.execute(sql);
    
    //2.添加方式 2(推荐)
    String sql2 = "insert into monster values(?,?,?)";
    //返回的 int类型 表示执行后表受影响的记录数
    int affected = jdbcTemplate.update(sql2, 500, "牛魔王", "芭蕉扇");
    System.out.println("add ok affected = " + affected);
}

添加成功:

image-20230130200640803 image-20230130201116969

2.2修改数据

//测试通过JdbcTemplate对象完成修改数据
@Test
public void updateDataByJdbcTemplate() {
    //获取容器
    ApplicationContext ioc =
            new ClassPathXmlApplicationContext(&quo
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇springboot~openfeign开启熔断之.. 下一篇关于静态代码块和匿名代码块以及..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目