SSM框架之Spring JdbcTemplate基本使用

`SSM`(Spring+MyBatis)框架中的`JdbcTemplate`是Spring JDBC模板,它封装了基本的JDBC操作 它通过将接口和Java对象(POJOs,Plain Ordinary Java Objects,即普通Java类)映射到数据库表结构,使得开发者可以使用简单易懂的SQL语句或注解来进行数据库的操作,如查询、插入、更新和删除。它封装了许多底层的细节,如注册驱动、创建连接以及执行预编译的SQL语句,这样开发人员可以专注于编写业务逻辑,而不必关心底层的数据库操作。:MyBatis中的mapper接口替代了传统的DAO,接口仅声明方法,无需提供具体实现,降低了重复代码并增强模块间的松耦合。相比于直接使用JDBC, 阅读详情

目录

1.JdbcTemplate概述

2.JdbcTemplate开发步骤

3.Spring产生JdbcTemplate对象

4.提取jdbc.properties

5.JdbcTemplate简单操作


1.JdbcTemplate概述

Spring框架提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemplate等等。

2.JdbcTemplate开发步骤

  • 导入spring-jdbc和spring-tx坐标
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jdbc</artifactId>
  <version>5.3.19</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-tx</artifactId>
  <version>5.3.19</version>
</dependency>
  • 创建数据库表和实体
Create tables account(name varchar(20),money double);
package com.caoyan.domain;

public class Account {
    private String name;
    private double money;

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getMoney() {
        return this.money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "{" +
                " name='" + getName() + "'" +
                ", money='" + getMoney() + "'" +
                "}";
    }

}

  • 创建JdbcTemplate对象
  • 执行数据库操作
package com.caoyan.test;

import java.beans.PropertyVetoException;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateTest {
    @Test
    // 测试JdbcTemplate开发步骤
    public void test1() throws PropertyVetoException {
        // 创建数据源对象
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
        dataSource.setUser("root");
        dataSource.setPassword("123456");
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        // 设置数据源对象,知道数据库在哪
        jdbcTemplate.setDataSource(dataSource);
        // 执行操作
        int row = jdbcTemplate.update("insert into account values(?,?)", "tom", 5000);
        System.out.println(row);
    }
}

3.Spring产生JdbcTemplate对象

将JdbcTemplate的创建权交给Spring,将数据源DataSource的创建权也交给Spring,在Spring容器内部将数据源DataSource注入到JdbcTemplate模板对象中。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 数据源DataSource -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
        <property name="user" value="root"/>
        <property name="password" value="123456"/>
    </bean>
    <!-- JdbcTemplate -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>
@Test
// 测试Spring产生jdbcTemplate对象
public void test2() {
    ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    JdbcTemplate jdbcTemplate = app.getBean(JdbcTemplate.class);
    int row = jdbcTemplate.update("insert into account values(?,?)", "zhangsan", 15000);
    System.out.println(row);
}

4.提取jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 加载jdbc.properties -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!-- 数据源DataSource -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <!-- JdbcTemplate -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>

5.JdbcTemplate简单操作

    @Test
    // 查询所有
    public void testQueryAll() {
        List<Account> accountList = jdbcTemplate.query("select*from account",
                new BeanPropertyRowMapper<Account>(Account.class));
        System.out.println(accountList);
    }

    @Test
    // 查询单个
    public void testQueryOne() {
        Account account = jdbcTemplate.queryForObject("select * from account where name=?",
                new BeanPropertyRowMapper<Account>(Account.class), "tom");
        System.out.println(account);
    }

    @Test
    // 计数
    public void testCount() {
        Long count = jdbcTemplate.queryForObject("select count(*) from account", Long.class);
        System.out.println(count);
    }

SSM框架的介绍 Spring 整个项目中装配Bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象,有两个核心分别是IOC(控制反转)和AOP(面向切面编程) IOC控制反转,简单说就是讲new关键字创建对象的权利交给Spring框架来管理,开发者只关注业务逻辑处理 AOP面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,降低业务逻辑之间的耦合度,提高代码的可重用性,同时提高了开发的效率,事务管理、日志文件打印通常用到 阅读详情

相关推荐

SSM框架笔记12:Spring JdbcTemplate

Spring JdbcTemplateSpring对数据库的操作使用JdbcTemplate来封装JDBC,结合Spring的注入特性可以很方便地实现对数据库的访问操作。下面以案例进行说明。一、项目结构图二、项目实施1、创建Maven项目SpringJdbcTemplate2、修改pom.xml文件,添加依赖&lt;?xml version="1.0" encoding="UTF-8"?&gt; ...

howard2005的专栏 732

SSM之JdbcTemplate基本使用

导入spring-jdbc和spring-tx坐标创建数据库表和实体创建JdbcTemplate对象执行数据库操作更新操作:查询操作:Spring+SpringMVC+MyBatis全套教程。

qq_46130027的博客 203

AutoCAD Plant 3D自定义零件库实战:手把手教你用Python创建参数化槽式三通

本文详细介绍了如何利用Python脚本在AutoCAD Plant 3D中创建参数化槽式三通组件,从API原理到实战开发,帮助用户构建高效的自定义零件库。通过Python装饰器系统控制零件属性和行为,实现几何建模、参数管理和规格编辑器集成,提升工业管道设计的标准化和效率。

weixin_28267011的博客 332

jdbc 获取mysql表注解_Spring之路(30)–使用JdbcTemplate完成数据库操作(xml+注解配置)...

背景上一篇讲述了数据源DataSource,本篇使用的JdbcTemplate完成对数据库增删改查操作,话不多少,开整…创建spring.xml创建spring.xml,这个没啥好说的,注意开启对包的扫描,以便于后续自动注册包内定义的bean:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www...

weixin_30728435的博客 271

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3068

PD详解—第一章—Type-C连接

Type-C连接 今天大师匈下班比较早,再给大家侃一侃PD,希望大家支持。 PD和Type-c的关系 首先讲一下PD快充的实现步骤,本文主要是Source端(电源),Sink端的差不多也一样,只是策略不同而已。 TypeC连接-->广播电源能力Source capbility(数据交互)->打电压电流->等待其他指令。 所以typec连接是第一步,很多人会从字面意思理解typec连接,这不就是把线给插上去就好了吗? 不知道有没有优秀的同学想到正确答案; 正确答案:typec连接的本质是为

大师匈的博客 1万+

SSM框架(六)JdbcTemplate模板的使用

目录 1. 传统的jdbc和JdbcTemplate的对比 2. 数据源的配置 3.使用jdbcTemplate实现数据库CURD操作 1. 传统的jdbc和JdbcTemplate的对比 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类...

chtw的博客 609

复现论文《Analysis of circulating current mechanism of Grid-forming offshore wind farm based on DRU-HVDC》

该论文研究了基于二极管整流单元(DRU)和低频交流(LFAC)输电的构网型(GFM)海上风电场并网系统中环流的产生机理。由于 DRU 不可控,系统电压与频率依赖于风力发电机(WT)的网侧变流器,当多台 WT 并联运行时,因输出电压幅值、相位、输出阻抗或频率不匹配,会产生基频环流,导致系统损耗增加与稳定性下降。论文通过理论建模与 MATLAB/Simulink 仿真,分析了四种不平衡工况下的环流机理,并指出幅值不平衡和阻抗不平衡引起无功环流,相位不平衡引起有功环流,频率不平衡则引起环流振荡,为后续环流抑制研究

huanghm88的专栏 105

ssm框架之spring:浅聊事务--JdbcTemplate

本篇主要聊spring中使用的事务集合,Jdbctemplate,通过实例演示通过注解实现事务,以事务的传播性等等。

u011863822的博客 897

ComfyUI整合包V8中文版最新版介绍

和普通AI绘图网页不同,它把图像生成的每一个步骤拆分成一个个"节点",用连线把它们串起来,形成工作流。里面包含ComfyUI内核、Python运行环境、常用插件、部分预置模型,还有一个叫"绘世启动器"的图形界面管理工具。网上的对比数据显示,WebUI最低需要4G显存,ComfyUI最低3G显存就能运行。可以在里面管理插件、切换模型路径、设置显存模式、查看日志报错,还有"疑难解答"功能,遇到报错可以先扫描一下看是不是已知问题。原版ComfyUI的界面是英文的,右键菜单、节点名称全是英文。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 5229

20、微电网系统的系统框架、建模与控制架构解析

本文详细解析了微电网系统的系统框架、建模方法以及控制架构。文章首先介绍了在系统的系统(SoS)框架下,微电网如何通过微控制器(MC)和微电网中央控制器(MGCC)协调运行,并支持并网与孤岛模式下的高效能量管理。随后,针对微电网的关键组件,包括微涡轮机、光伏太阳能电池和风力涡轮机,提供了详细的数学建模分析。最后,探讨了微电网的控制架构设计,涵盖分层控制和共识控制策略,以实现系统的高效、稳定运行,满足日益增长的能源需求与市场要求。

elastic6hunter的博客 206

SSM框架-从JDBC到Mybatis,你今天CRUD了吗?

CRUDboy,JDBC到Mybatis

m0_46507516的博客 559

Unity3D实现视频和模型融合效果

在Unity中,视频和3D模型融合通常涉及到将视频表面内嵌到3D场景中。视频不影响模型的展示, 这可以通过使用Shader和Texture来实现。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。下面就让我们进入正文吧!提示:以下是本篇文章正文内容,下面案例可供参考本次介绍的就是视频和模型融合的实现,以后有其他的需要添加的会继续添加不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒。

心疼你的一切博客 5357

SSM框架之Spring——JdbcTemplate和事务控制

一、Spring JdbcTemplate 1.1JdbcTemplate概述 JdbcTemplate它是 Spring 框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。 原始Jdbc开发需要先注册驱动,接着获得Connection对象,然后获取Statement对象,执行对应的sql语句,最后获得ResultSet对象。这个过程比较繁琐。 JdbcTemplate对这些操作进行了简单的封装,为我们的数据库开发提供了简便。 Spring框架为我们提供了很多的操作模板类...

小唐要努力的博客 1268

[PCIE5.0] 2.2.8.3 Error Signaling Messages

错误信号消息用于在 PCI Express 设备之间传递错误信息,帮助系统发现并报告错误。每当发生某种错误时,检测到该错误的设备会通过发送这些消息来通知系统。• 没有数据负载:这些错误信号消息不包含任何数据(即 TLP Type 是 Msg),它们仅用于错误报告。• 长度字段保留:在这些消息中,长度字段是保留的,不使用。• 功能号(Function Number)字段:这个字段标识哪个设备发生了错误。

系统固件工程师 293

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SSM框架之Spring(5)JdbcTemplate及spring事务控制

Spring(5)JdbcTemplate及spring事务控制 ##1、JdbcTmeplate 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。 操作关系型数据的: JdbcTemplate HibernateTemplate 操作 nosql 数据库的: RedisTemplate 操作消息队列的: Jm...

gyhdxwang的博客 290

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SSM的学习(五)---spring的核心Aop与JdbcTemplate

SSM的学习(五)—spring的核心Aop与JdbcTemplate Aop Aop(Aspect Oriented Programming),面向切面编程,是面向对象思想上的补充。 简单来说:就是在原来代码的基础之上,想要不改变源码,添加新的功能,运用场景非常之多如:打印日志 ,事务,等。 Aop的底层原理 aop基于动态代理:会给要改动的对象创建一个代理,通过代理对象来实现代码的增强 java中动态代理有两种实现方式: jdk动态代理实现 /** * 基于jdk动态代理的AOP底层实现 *

Cui6023056的博客 381

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring框架技术总结(三)

0、目录总览 1、Spring JdbcTemplate 1.1、JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。 spring框架为我们提供了很多的操作模板类。例如: 操作关系型数据的JdbcTemplate和HibernateTemplate 操作nosql数据库的RedisTemplate 操作消息队列的JmsTemplate等等 1.2、JdbcTemplate开发步骤 导入 spring-jdbc 和 spring-t

Augenstern_QXL的博客 818

SSM——Spring框架学习笔记3\4(AOP、JdbcTemplate、AOP事务控制)

Spring框架3(AOP) AOP面向切面编程 OOP面向对象编程 作用:在程序运行期间,不修改源码对已有方法进行增强(动态代理) 优势: 减少重复代码 提高开发效率 维护方便 dbutils Spring框架4(JdbcTemplate、AOP事务控制) JdbcTemplate概述: 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多 的操作模板类。 操作关系型数据的: J...

木心小白菜的博客 180

ssm框架知识点

**ssm框架知识点(spring +springmvc+mybatis)** 第一章 【思考题】 1、 请简述Spring框架的优点。 2、 请简述什么是Spring的IoC和DI。。 【答案】 1、Spring框架的优点如下: (1)非侵入式设计:Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。 (2)方便解耦、简化开发:Spring...

weixin_43880780的博客 2974

三层架构与SSM框架的对应关系

三层架构与SSM框架的对应关系一、什么是框架二、三层架构与SSM框架的对应关系三、持久层技术解决方案1.JDBC技术2.Spring的JdbcTemplate3.Apache的DBUtils 一、什么是框架 框架是软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处:①框架封装了很多细节,可以使开发者提高效率。②低耦合,高内聚。代码的健壮性和可扩展性增强。 二、三层架构与SSM...

不甘平凡的码农 1245

SSM框架-学习总结,SSM环境搭建

SSM框架学习和总结 SSM框架一般指spring+springMVC+Mybatis。

青树寒鸦的博客 1157

JavaWeb学习——SSM框架之Spring与SpringMVC(部分)

JavaWeb学习——Spring、SpringMVC(部分)1.学习内容 1.学习内容 对Spring进行学习

RX1125的博客 391

Spring 框架学习第六节:Spring 中的 JdbcTemplate 与事务控制

此博客用于个人学习,来源于ssm框架的书籍,对知识点进行一个整理。 6.1 Spring 中的 JdbcTemplate: 可能有人会疑惑:Spring 中既然有 JdbcTemplate,为什么还需要与 MyBatis 框架一起使用? 两者可以在不同的场景下使用,spring JDBC的性能更好,更适合管理域的sql语句,而mybatis则可以将sql语句批量的管理起来,还可以达到sql的重用,同时mybatis还帮你做了数据库的驱动注册加载,数据库连接的创建与销毁等数据库的管理可以让你更关注于业务,更适

paynmind的博客 841

Spring整合JdbcTemplate实现增删改查--基于xml配置

总结:该项目没有使用mybatis框架,仅仅使用了spring,比较容易理解 可以改进一下,使用springmvc和mybatis。将其改进为web项目 1,导入需要引入的依赖:Spring ioc + JdbcTemplate+druid+ mysql。pom.xml内容 <?xml version="1.0" encoding="UTF-8"?> <projec...

letgoDream的博客 997

最基本的SSM框架整合步骤

SSm框架整合 SS框架 (1)web.xml (1)配置spring容器。 (2)配置spring监听。 (3)配置前端控制器。(DispatcherServlet) springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml

浪子博客 268
上一篇: SpringMVC获得请求数据(文件上传)
下一篇: Spring后台数据管理
Caoyy686868
博客等级 码龄8年 5742粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caoyy686868

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值