当前位置: 首页 > wzjs >正文

做苗木选择哪个网站青岛公路建设集团有限公司网站

做苗木选择哪个网站,青岛公路建设集团有限公司网站,岳阳网站开发网站运营怎么做,青岛专业做外贸网站一、JDBC 模板技术概述 在传统 JDBC 开发中,开发人员需要手动处理数据库连接(Connection)、事务管理、语句执行(Statement)和结果集(ResultSet)等繁琐操作,不仅代码冗余度高&#x…

一、JDBC 模板技术概述

在传统 JDBC 开发中,开发人员需要手动处理数据库连接(Connection)、事务管理、语句执行(Statement)和结果集(ResultSet)等繁琐操作,不仅代码冗余度高,而且容易出错。Spring 框架针对这一痛点,提供了持久层模板类XxxTemplate)来简化开发,其中用于 JDBC 操作的核心类是JdbcTemplate

核心优势

  • 简化编程:封装了 JDBC 的底层细节,开发者只需关注 SQL 语句和业务逻辑。
  • 统一接口:提供一致的增删改查方法,避免重复编写样板代码。
  • 整合连接池:支持 Spring 内置连接池和第三方开源连接池(如 Druid),方便管理数据库连接。

 二、JDBC 模板类的基础使用

 1. 创建 Maven 工程并引入依赖

 在pom.xml中添加以下坐标,包含 Spring 核心、JDBC 模块、数据库驱动及日志组件:

<dependencies><!-- Spring核心 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.2.RELEASE</version></dependency><!-- JDBC模块 --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.0.2.RELEASE</version></dependency><!-- 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!-- 日志 --><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><!-- 测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>
</dependencies>

 2. 手动创建对象方式(非 Spring 管理)

 通过硬编码方式创建连接池和JdbcTemplate对象,适用于简单测试场景:

import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;public class Demo1 {@Testpublic void run1() {// 1. 创建Spring内置连接池DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///spring_db");dataSource.setUsername("root");dataSource.setPassword("root");// 2. 创建JdbcTemplate并绑定连接池JdbcTemplate template = new JdbcTemplate(dataSource);// 3. 执行SQL插入操作template.update("insert into account values(null, ?, ?)", "熊大", 1000);}
}

三、使用 Spring 容器管理 JDBC 组件

 1. Spring 配置文件管理连接池和模板

通过applicationContext_jdbc.xml将连接池和JdbcTemplate纳入 Spring 容器管理,实现解耦:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"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"><!-- 1. 配置Spring内置连接池 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql:///spring_db"/><property name="username" value="root"/><property name="password" value="root"/></bean><!-- 2. 配置JdbcTemplate并注入连接池 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean></beans>

2. 基于 Spring 测试的依赖注入

通过@Autowired自动获取JdbcTemplate,简化代码:

package com.qcbyjy.test.demo1;import com.qcbyjy.demo1.model.Account;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;//使用Spring框架来管理模板类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "classpath:applicationContext_jdbc.xml")
//@ContextConfiguration(value = "classpath:applicationContext_druid.xml")
public class Demo1_1 {@Autowiredprivate JdbcTemplate jdbcTemplate;//测试
//    插入@Testpublic void run1() {jdbcTemplate.update("INSERT  into account VALUES (null,?,?)", "圈圈", 5000);}//    修改@Testpublic void run2() {jdbcTemplate.update("UPDATE  account set name=?,money=? where id=?", "光头强", 122, 7);}//    删除@Testpublic void run3() {jdbcTemplate.update("delete from account where id=?", 7);}//    通过id查询@Testpublic void run4() {// 使用自定义RowMapper将ResultSet映射为Java对象Account account = jdbcTemplate.queryForObject("select *  from account where id=?", new BeanMapper(), 8);System.out.println(account);}//查询所有的数据@Testpublic void run5(){List<Account> list=jdbcTemplate.query("select * from account",new BeanMapper());for (Account account:list){System.out.println(account);}}// 自定义结果映射器class BeanMapper implements RowMapper<Account> {public Account mapRow(ResultSet resultSet, int i) throwsSQLException {Account account = new Account();account.setId(resultSet.getInt("id"));account.setName(resultSet.getString("name"));account.setMoney(resultSet.getDouble("money"));return account;}}
}

四、集成开源连接池(以 Druid 为例)

1. 添加 Druid 依赖

 在pom.xml中引入 Druid 坐标:

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version>
</dependency>

2. 配置属性文件(jdbc.properties

 将数据库连接信息外置到配置文件,便于维护:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///spring_db
jdbc.username=root
jdbc.password=root

3. Spring 配置文件整合 Druid

通过<context:property-placeholder>加载属性文件,并替换为 Druid 连接池:

<beans ...><!-- 加载属性文件 --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 使用Druid连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" 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>

六、总结

核心流程

  1. 引入依赖:包含 Spring JDBC 模块、数据库驱动和连接池(如 Druid)。
  2. 配置连接池:通过 Spring 配置文件管理数据库连接信息,支持内置或开源连接池。
  3. 注入模板类:将JdbcTemplate纳入 Spring 容器,通过依赖注入获取实例。
  4. 执行操作:利用JdbcTemplate的增删改查方法,结合RowMapper处理结果集。

最佳实践

  • 外置配置:将数据库连接信息放入属性文件,避免硬编码。
  • 使用开源连接池:优先选择 Druid 等高性能连接池,提升应用性能。
  • 结合 Spring 测试:通过@RunWith@ContextConfiguration简化测试代码。

通过以上实践,开发者可以大幅提升 JDBC 开发效率,将更多精力聚焦于业务逻辑实现。


文章转载自:

http://BXsGGLqF.bchhr.cn
http://TXm5264p.bchhr.cn
http://YB9KvMSP.bchhr.cn
http://VenyQDdF.bchhr.cn
http://rqblkJ7G.bchhr.cn
http://Ac9NEGuV.bchhr.cn
http://8BDVMCdL.bchhr.cn
http://ZYaNUJ7l.bchhr.cn
http://xhi0GRz8.bchhr.cn
http://qZRXaWry.bchhr.cn
http://MeG6YXLI.bchhr.cn
http://Oc9C87yb.bchhr.cn
http://DZV2u4MT.bchhr.cn
http://NV2fyrSP.bchhr.cn
http://cCcDEVUT.bchhr.cn
http://ZHcg0eXW.bchhr.cn
http://27fGsRj1.bchhr.cn
http://VcOdDuA8.bchhr.cn
http://7I7LUN5H.bchhr.cn
http://AWuUVOmH.bchhr.cn
http://DiLsg4fI.bchhr.cn
http://jT7xeKVs.bchhr.cn
http://2uOqCwGF.bchhr.cn
http://xBDBn4Q2.bchhr.cn
http://S7kedDXx.bchhr.cn
http://88AuPvU7.bchhr.cn
http://Oj6WkXvu.bchhr.cn
http://E1ssqm8h.bchhr.cn
http://dxoxJCvk.bchhr.cn
http://0Vesrqcm.bchhr.cn
http://www.dtcms.com/wzjs/756314.html

相关文章:

  • 电子商务网站设计与...网站建设方向课程
  • 福建建设局网站宁夏电力建设工程公司外部网站
  • 注册网站是哪个部门南京手机网站开发
  • 网站开发php jsp三亚市建设局官方网站
  • 陕西省建设监理协会网站北京建站者公司
  • 肇庆 网站建设广告投放平台排名
  • wordpress网站域名地址郑州地区网站建设公司
  • 安居客房产官方网站wordpress添加模块
  • 企业网站营销案例房产中介 网站模板
  • 合肥解封最新消息网站排名优化工具
  • 开发公司网站设计橙象品牌设计
  • 网站在哪里设置域名设计成功一个电子商务网站
  • 做房产网站哪个好常见的简单的app开发
  • 餐饮招商加盟网站建设费用沧州南皮网站建设公司
  • 食品饮料网站源码手动升级wordpress
  • 网站接入服务单位个人备案网站可以做支付吗
  • 怎么在百度上做单位网站thinkphp网站源码下载
  • 怎么做网站内容添加洛阳霞光做网站
  • 外网代理服务器网站上海徽与章网站建设宗旨
  • 做网站如何分页网络营销可以做什么工作
  • 建立网站策划书wordpress 系统安装教程
  • 河北省保定市唐县城乡建设网站h5 app开发 网站建设
  • 广州做外贸网站的公司简介wordpress 无法html
  • 什么视频直播网站做挣钱短网址生成功能
  • 建设美食网站的作用网站应急响应机制建设
  • 注册公司如何做网站wordpress音频插件下载
  • 泉州晋江网站建设医疗器械四大龙头企业
  • 建设银行贵金属网站竞价sem托管
  • 海珠区网站建设网站内容计划
  • 网站建设德语长沙专业seo优化公司