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

Spring Boot2 系列教程(十九)Spring Boot 整合 JdbcTemplate 1. 基本配置JdbcTemplate 基本用法实际上很简单,开发者在创建一个 SpringBoot 项目时,除了选择基本的 Web 依赖,再记得选上 Jdbc 依赖,以及数据库驱动依赖即可,如下:项目创建成功之后,记得添加 Druid 数据库连接池依赖(注意这里可以添加专门为 Spring Boot 打造的,而不是我们一般在 SSM 中添加的 Druid),所有添加的依赖如下:1.1.10mysql5.1.27runtime。 阅读详情

使用注解的方式来完成IOC和DI

 

1、创建配置类

SpringConfig.java

package com.day02Jdbc.config;
 
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
 
/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 9:25 2018/11/10
 */
@Configuration//指定该类是一个配置类、等价于一个spring的配置文件
@ComponentScan(basePackages="com.day02Jdbc")//指定扫包范围
@Import(JdbcConfig.class) //引入JdbcConfig.class文件
public class SpringConfig {
 
}

2、创建jdbc配置类

JdbcConfig.java

public class JdbcConfig {
 
 
    /**
     * Bean注解:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入spring容器。
     * name属性:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)。
     * @return
     */
    @Bean(name="dataSource")
    public DataSource createDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");
        return dataSource;
    }
 
 
    @Bean(name="jdbcTemplate")
    public JdbcTemplate createJdbcTemplate(DataSource dataSource){
        return new JdbcTemplate(dataSource);
    }
 
}

3、引入jdbc属性文件

创建Jdbc属性文件 resources/jdbc.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=sswqzx

在jdbcConfig中引入jdbc属性资源文件


 
  1.  
    package com.day02Jdbc.config;
     
    import com.alibaba.druid.pool.DruidDataSource;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.jdbc.core.JdbcTemplate;
    import javax.sql.DataSource;
     
    //import javax.sql.DataSource;
     
     
    /**
     * @ Author     :ShaoWei Sun.
     * @ Date       :Created in 9:28 2018/11/10
     */
    @PropertySource("classpath:jdbc.properties")
    public class JdbcConfig {
     
        @Value("${jdbc.driverClass}")
        private String driver;
     
        @Value("${jdbc.url}")
        private String url;
     
        @Value("${jdbc.username}")
        private String user;
     
        @Value("${jdbc.password}")
        private String password;
     
     
     
        /**
         * Bean注解:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入spring容器。
         * name属性:给当前@Bean注解方法创建的对象指定一个名称(即bean的id)。
         * @return
         */
        @Bean(name="dataSource")
        public DataSource createDataSource(){
            DruidDataSource dataSource = new DruidDataSource();
            dataSource.setDriverClassName(driver);
            dataSource.setUrl(url);
            dataSource.setUsername(user);
            dataSource.setPassword(password);
            return dataSource;
        }
     
     
        @Bean(name="jdbcTemplate")
        public JdbcTemplate createJdbcTemplate(DataSource dataSource){
            return new JdbcTemplate(dataSource);
        }
    }

    注意:

    @Bean注解也可以不用指定name,因为基本上都是按照类型注入;如果不指定name,默认是@Bean注解所在的方法的名字。

    在SpringConfig中引入JdbcConfig

    package com.day02Jdbc.config;
     
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
     
    /**
     * @ Author     :ShaoWei Sun.
     * @ Date       :Created in 9:25 2018/11/10
     */
    @Configuration//指定该类是一个配置类、等价于一个spring的配置文件
    @ComponentScan(basePackages="com.day02Jdbc")//指定扫包范围
    @Import(JdbcConfig.class) //引入JdbcConfig.class文件
    public class SpringConfig {
     
    }

    4、在实现类上加上对应的注解

    注意:在使用@Component、@Service、@Repository注解时,可以不指定bean的id,因为基本上都是按照类型注入;如果不指定id,默认是类名首字母小写。

    CustomerServiceImpl.java

    package com.day02Jdbc.service.Impl;
     
    import com.day02Jdbc.dao.CustomerDao;
    import com.day02Jdbc.domain.Customer;
    import com.day02Jdbc.service.CustomerService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.stereotype.Service;
     
    import java.util.List;
     
    /**
     * @ Author     :ShaoWei Sun.
     * @ Date       :Created in 17:06 2018/11/8
     */
    @Service("customerService")
    public class CustomerServiceImpl implements CustomerService {
     
        @Autowired
        private CustomerDao customerDao ;
     
    //    public void setCustomerDao(CustomerDao customerDao){
    //        this.customerDao = customerDao;
    //    }
     
        @Override
        public List<Customer> findAllCustomer() {
            List<Customer> list = customerDao.findAll();
            return list;
     
        }
    }
    //CustomerDaoImpl.java
    
    package com.day02Jdbc.dao.Impl;
     
    import com.day02Jdbc.dao.CustomerDao;
    import com.day02Jdbc.domain.Customer;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.stereotype.Repository;
     
    import java.util.List;
     
    /**
     * @ Author     :ShaoWei Sun.
     * @ Date       :Created in 17:09 2018/11/8
     */
    @Repository("customerDao")
    public class CustomerDaoImpl implements CustomerDao {
     
        @Autowired
        private JdbcTemplate jdbcTemplate;//不需要实例化,通过spring依赖注入进来,采用xml配置,需要提供set方法
     
    //    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
    //        this.jdbcTemplate = jdbcTemplate;
    //    }
     
        @Override
        public List<Customer> findAll() {
            List<Customer> list = jdbcTemplate.query("select * from cst_customer",new BeanPropertyRowMapper<Customer>(Customer.class));
            return list;
        }
    }

    5、测试

    package com.day02Jdbc.test;
     
    import com.day02Jdbc.config.SpringConfig;
    import com.day02Jdbc.domain.Customer;
    import com.day02Jdbc.service.CustomerService;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
     
    import java.util.List;
     
    /**
     * @ Author     :ShaoWei Sun.
     * @ Date       :Created in 9:44 2018/11/10
     */
    //@RunWith(SpringJUnit4ClassRunner.class)//指定采用spring的运行器来执行单元测试方法
    //@ContextConfiguration("classpath:applicationContext.xml")//指定spring配置文件的路径
    public class TestFindAnno {
     
        @Test
        public  void test1(){
            ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
            CustomerService customerService = (CustomerService) ac.getBean("customerService");
            List<Customer> list = customerService.findAllCustomer();
            for (Customer customer : list) {
                System.out.println("customer = " + customer);
            }
     
        }
    }

Spring整合JDBC实现数据库的增删改查操作 1.JDBC是什么 即Java Database Connectivity,它是提供了一组Java API来访问关系数据库的Java程序。 2.spring整合jdbc 2.1导入spring的依赖以及数据库的驱动包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceE... 阅读详情

相关推荐

spring+mysql+druid+jdbctemplate使用xml配置实现增删改查

文章目录选型domain层业务层接口实现类持久层接口实现类beans.xml配置文件测试 选型 框架:spring 持久层:mysql+jdbcTemplate+druid 配置方式:beans.xml domain层 package com.li.domain; public class User { private int id; private String usernam...

qq_42487559的博客 821

Spring(四)-SpringJdbcTemplate的实现

Bean的应用: SpringJdbcTemplate 实现 一、实现dao以及service的addUser 1. 建表 2. 创建User类、IUserDao接口、IUserDaoImpl实现类(具体里面的方法观看如下截图:)   3. 编写applicationContext.xml配置文件 4. 编写db.properties文件 5. 在实现Use

蓝色的青春_巍 305

DirectX修复工具使用技巧之二——手动修复C++创建失败的文件

最后更新:2021-2-25 随着V4.0正式版的发布,近来有部分用户来咨询如何解决C++文件创建失败的问题。在此我将以解决最常见的C++2015-2019文件创建失败为例,向大家演示一下在线修复的方法,其他C++或文件的方法大同小异。此次操作以Windows 7为例,其他系统相应参考即可。 首先,如果希望程序能手动在线修复创建失败的失败,请首先确定您使用的V4.0.2版或更高版本,老版本不支持此功能。查看程序版本的方式可以把鼠标放在DirectX Repair.e...

VBcom的专栏 6万+

使用Spring的JdbcTemplate实现DAO

直接使用JDBC操作数据库来实现DAO,相对于使用持久层框架(Hibernate等) ,可以减少映射等带来的性能损失。一般而言,使用JDBC来操作数据库,无非是以下几个步骤:    获取数据源    取得数据库连接    执行SQL语句    处理执行结果和异常    释放数据库连接这些步骤是每次进行数据库操作都必须进行的。很显然,可以使用模板模式来简化设计,将执行SQL语句的部分抽象出来,其它的

小陆的笔记 3105

【C++】POCO学习总结(六):线程、线程池、同步

Poco::RunnableAdapter继承自Poco::Runnable,在Poco::RunnableAdapter构造函数中指定了类和方法;Poco::ThreadLocal是线程局部变量,也叫线程局部存储,意思是模版ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。

郭老二 5098

别再被网站风控了!手把手教你修改Chromium源码,实现TLS指纹随机化

本文详细介绍了如何通过修改Chromium源码实现TLS指纹随机化,有效规避网站风控。文章深入解析了TLS指纹(如JA3指纹)的工作原理,并提供了具体的源码修改步骤和编译方法,帮助开发者突破高级反爬技术。通过动态打乱加密套件顺序,实现每次请求生成不同的指纹,显著提升自动化工具的隐蔽性。

weixin_28712661的博客 426

spring之JdbcTemplate

ssm

a207551的博客 443

从编译到启动:RV1106嵌入式Linux系统构建的效率优化与深度实践

本文深入探讨RV1106嵌入式Linux系统构建的全流程优化策略,重点提升编译速度和驱动加载效率。通过并行编译配置、内核裁剪、驱动加载优化和硬件辅助加速等实践方法,显著缩短系统构建和启动时间,为嵌入式开发提供实用指导。

ttt77的博客 1032

Spring里配置的JDBC-Template最详细讲解

为什么要用JDBC-Template 可以简化持久代码,在持久层有很大用处,什么叫持久层,就是实现增删改除等功能的一个抽象层面,是和数据库直接打交道的层。为什么说可以简化持久代码呢,大家都知道JAVA传统JDBC的流程 首先创建加载驱动,通过加载驱动取得与数据库的连接,通过连接创建语句来实现增删改除。通过下面对比可以看出Template的具体简化作用 比如来一个查询结果 //传统 JDBC AP...

毛聿修的博客 3104

SAP EWM 内向交货流程(一)

本文介绍了SAP EWM系统中内向交货单的基本配置与操作流程。

huqinghai的专栏 2398

4D毫米波雷达与激光雷达融合评测:3种主流融合框架在极端天气下的性能对比

本文深度评测了4D毫米波雷达与激光雷达在极端天气下的三大融合框架性能,包括前融合、特征级融合和后融合。通过实测数据对比,揭示了多传感器融合在暴雨、浓雾等恶劣环境中的显著优势,为自动驾驶感知系统提供了关键的技术参考和工程实践指南。

weixin_28677005的博客 331

Spring之JdbcTemplate的使用

JdbcTemplate是Spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。

积跬步,至千里。 1277

JavaScript实现边缘检测Canny(附完整源码)

JavaScript实现边缘检测Canny(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 705

Spring5学习笔记(IOC、AOP、JdbcTemplate、事务操作、Spring5 框架新功能)

1. Spring5 框架概述 Spring 是轻量级的开源的 JavaEE 框架 轻量级:Spring 里面的 jar 包、依赖等很少,它的体积很小;不需要依赖其他的组件 开源:免费提供源代码 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分:IOC 和 Aop (1)IOC:控制反转,把创建对象过程交给 Spring 进行管理 (2)Aop:面向切面,不修改源代码进行功能增强 Spring 特点 (1)方便解耦,简化开发 (使用 IOC ) (2)Aop 编程支持 (3)方便程

醉后不知天在水,满船清梦压星河 604

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring5系列学习文章分享---第四篇(JdbcTemplate+概念配置+增删改查数据+批量操作 )

在这个博客中,我们将深入研究 Spring 框架的JdbcTemplate+概念配置+增删改查数据+批量操作。我们期待与您共同探索Spring 5,共同提升我们的Java开发技能!在第五篇中,我们将深入研究Spring 5的事务,为您分享我学习的Spring5的收获,请继续关注我的系列。⚫ 第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面实现类完成。⚫ 第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面实现类完成。⚫ 第三个参数:sql 语句值。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring Boot中整合JdbcTemplate

在java中,数据持久化有几种方式,spring自带的jdbctemplate,还有mybatis,JPA,这几种方式中spring自带的jdbctemplate要简单一些,它虽然没有MyBatis那么方便,但是比起最开始的Jdbc已经强了很多了,它没有MyBatis功能那么强大,当然也意味着它的使用比较简单,事实上,JdbcTemplate算是最简单的数据持久化方案了,下面我们来看看如何实现的 ...

zhouym_的博客 707

Spring JdbcTemplate 模板剖析 之 常用 增删改查

目录 JdbcTemplate 概述 与 环境准备 JdbcTemplate 常用 CRUD 增删改、删表、建表 查询、模糊、分页 JdbcTemplate 概述 与 环境准备 1、Spring 对数据库的操作在 jdbc 上面做了简单的封装(类似 DBUtils),使用 spring 的注入功能,可以把 DataSource 注册到 JdbcTemplate 之中。 2、org.s...

蚩尤后裔-汪茂雄 4355

spring整合MySQL,基于spring-jdbc和spring-tx的jar包,使用spring-jdbc.jar包中的JdbcTemplate完成增删改查

在此之前我写了一篇spring整合MySQL的博客,是基于commons-dbutils的jar包的(链接在这里),今天,借助spring提供的如下jar包完成MySQL数据库操作: 在这个案例中,我们使用spring提供的数据源:org.springframework.jdbc.datasource.DriverManagerDataSource,该数据源位于spring-jdbc包中: 另外,spring提供了JdbcTemplate类,它为jdbc操作提供了模板方法,直接调用该类对象对应的

我是IT小菜鸟的博客 956

Spring框架之jdbcTemplate实现数据库的增删改查

jdbc是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。在Navicat for MySQL软件中创建数据库,并建立java代码中所需要的表。jdbcTemplate是Spring对jdbc封装的模板。连接数据库操作,实现对学生系统的增删改查。创建XML文件,连接数据库,加载驱动。

qq_53715074的博客 1243

Spring JdbcTemplate实现增删改查操作

这篇文章记录Spring JdbcTemplate实现增删改查操作Spring为各种支持的持久化技术,都提供了简单操作的模板和回调JDBC:org.springframework.jdbc.core.JdbcTemplateHibernate5.0:org.springframework.orm.hibernate5.HibernateTemplateIBatis(MyBatis):org.spr...

lzgsea的博客 1141

JDBC Spring 之JdbcTemplate 增删改查操作

之前简单介绍了JDBC CRUD的操作,接下来我为大家来讲解一下JDBC 使用Spring框架来进行CURD(增删改查操作)使用Spring中的JdbcTemplate之前应该给一个数据源来获得连接。 package cn.itcast.jdbc; import java.io.InputStream; import java.sql.Connection; import java.sql.

Qmen_Crow的专栏 3万+

Java--003 Spring整合jdbcTemplate及Mybatis

1. jdbcTemplate 1.1 概述 它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。 操作关系型数据的: JdbcTemplate HibernateTemplate 操作 nosql 数据库的: RedisTemplate 操作消息队列的: JmsTemplate 我们今天的主角在 spring-jdbc.jar 中,我们在导包的时候,除了要导入这个 jar 包 外,还需要导入一个 spri

qq_58765786的博客 1224

使用Spring里提供的JdbcTemplate实现数据库增删改查操作

JdbcTemplate是Spring框架提供的一个简化JDBC操作的工具类,封装了JDBC的复杂代码,开发者可以通过它轻松实现数据库的增删改查操作。本文介绍了如何使用JdbcTemplate进行数据库操作,包括环境准备、依赖引入、实体类定义以及Spring配置文件的编写。首先,创建数据库表t_user,并在IDEA中新建模块spring6-007-jdbc,引入Spring Context、Spring JDBC、MySQL驱动和JUnit等依赖。接着,定义与表对应的实体类User,并在Spring配置文

weixin_63855746的博客 816
上一篇: Spring整合JdbcTemplate实现增删改查--基于xml配置
下一篇: Spring框架整合JUnit单元测试
iamlinuxasd
博客等级 码龄10年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值