Spring——JDBC——数据库
1.Spring 的数据访问哲学
数据访问的功能放到一个或者多个专注于此项任务的组件。这样的组件通常称为数据访问对象(data access object)DAO或者Repository。
为了避免应用与特定的数据访问策略耦合再一起,编写良好的Repository应用以接口的方式暴露功能。
为了将数据访问层与应用程序的其他部分隔离开来。Spring采用的方式之一就是提供统一的异常体系。这些异常都继承DataAccessException。它是一个非检测型异常,没有必要捕获Spring所抛出的数据访问异常。主要是触发的异常问题很多是不能再catch代码块中修复的。
2.数据访问的模板化
  Spring将数据访问过程中固定的和可变的部分明确划分为两个不同的类:模板(template)和回调(callback)。模板管理过程中固定的部分,而回调处理自定义的数据访问代码。
固定部分:事务控制、管理资源以及异常处理;
Spring提供了多个可选模板。如果直接使用JDBC,可以选择jdbcTemplate。如果使用ORM框架,HibernateTemplate或JpaTemplate可能会更适合。
3.配置数据源
使用数据源连接池
Spring并没有提供数据源连接池实现,采用开源方案:
- Apache Commons DBCP(http://jakarata.apache.org/commons/dbcp);
- c3p0(http://sourceforge.net/project/c3p0/);
- BoneCP(http://jolbox.com);
<bean id="dataSource" class ="org.apche.commons.dbcp.BasicDataSource“
p:driverClassName="org.h2.Driver"
p:url = "jdbc:h2:tcp://localhost/~/Demo"
p:username="root"
p:password="******"
p:initialSize ="5"
p:maxActive ="10" />
@Bean
public BasicDataSource dataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("org.h2.Driver");
ds.setUrl("jdbc:h2:tcp://localhost/~/Demo");
ds.setUsername("root");
ds.setPassword("******");
ds.setInitialSize(5);
ds.setMaxIdle(10);
return ds;
}
4.使用JDBC模板
- jdbcTemplate:最基本的SpringJDBC模板,这个模板支持JDBC数据库访问功能以及基于索引参数的查询
- NamedParameterJdbcTemplate:执行查询时可以将值以命名参数的形式绑定到SQL中。
使用jdbcTemplate来插入数据
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
Spring——JDBC——数据库的更多相关文章
- Spring JDBC数据库开发
		针对数据库操作,Spring框架提供了JdbcTemplate类. 1.Spring JDBC的配置 创建配置文件applicationContext.xml,添加如下代码: <!--配置数据源 ... 
- Spring JDBC主从数据库配置
		通过昨天学习的自定义配置注释的知识,探索了解一下web主从数据库的配置: 背景:主从数据库:主要是数据上的读写分离: 数据库的读写分离的好处? 1. 将读操作和写操作分离到不同的数据库上,避免主服务器 ... 
- SpringBoot实战(四)之使用JDBC和Spring访问数据库
		这里演示的是h2databse示例,所以简单的介绍普及下h2database相关知识 H2数据库是一个开源的关系型数据库. H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提 ... 
- 三种数据库访问——Spring JDBC
		本篇随笔是上两篇的延续:三种数据库访问——原生JDBC:数据库连接池:Druid Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要 ... 
- Spring JDBC主从数据库访问配置
		通过昨天学习的自定义配置注释的知识,探索了解一下web主从数据库的配置: 背景:主从数据库:主要是数据上的读写分离: 数据库的读写分离的好处? 1. 将读操作和写操作分离到不同的数据库上,避免主服务器 ... 
- Spring学习(四)——使用Spring JDBC访问数据库
		本篇我们将在上一篇http://www.cnblogs.com/wenjingu/p/3824294.html的Demo程序的基础上增加数据持久层和业务层,实现登录验证功能. 1.修改gradle文件 ... 
- 【Spring】Spring的数据库开发 - 1、Spring JDBC的配置和Spring JdbcTemplate的解析
		Spring JDBC 文章目录 Spring JDBC Spring JdbcTemplate的解析 Spring JDBC的配置 简单记录-Java EE企业级应用开发教程(Spring+Spri ... 
- Spring的数据库开发
		Spring JDBC框架操作mysql数据库 Spring中的JDBC为我们省去连接和关闭数据库的代码,我们着重关注对数据库的操作.Sprin ... 
- Spring 实现数据库读写分离
		随着互联网的大型网站系统访问量的增高,数据库访问压力方面不断的显现而出,所以许多公司在数据库层面采用读写分离技术,也就是一个master,多个slave.master负责数据的实时更新或实时查询,而s ... 
随机推荐
- 用 cgroups 管理 cpu 资源
			转自:http://xiezhenye.com/2013/10/用-cgroups-管理-cpu-资源.html 这回说说怎样通过 cgroups 来管理 cpu 资源.先说控制进程的 cpu 使用. ... 
- CSP2019蒸馏记
			Day -\(\infty\) ~ Day -2 认真准备联赛. Day -1 复习模板,全真模拟比赛平衡树 下午进行了湖南大学 2 小时游. Day 0 上午睡过头了 下午日常训练,并没有什么开放日 ... 
- IDEA 最新破解方法,2019 版本已支持(持续更新,更新时间2019-05-14)
			一.安装进入官网下载适合自己系统的版本,下载地址:https://www.jetbrains.com/idea/download/#section=windows  2. 安装中选择适合本机的64位 ... 
- 代码移植的福音 namespace_alias
			命名空间别名 允许程序员定义命名空间的另一个名字 它们常用作长的或嵌套过深的命名空间的简便使用方式. 我们也可以将用在代码移植上,而无需修改源代码的文件所定义的命名空间, 为后面升级merge代码创造 ... 
- 动手学深度学习7-从零开始完成softmax分类
			获取和读取数据 初始化模型参数 实现softmax运算 定义模型 定义损失函数 计算分类准确率 训练模型 小结 import torch import torchvision import numpy ... 
- SpringBoot系列之profles配置多环境(篇一)
			SpringBoot profles配置多环境 23/100 发布文章 u014427391 软件环境简介 这里介绍一下SpringBoot提供的profiles属性加上maven配置一下多环境,在实 ... 
- 上下文的哲学思考:上下文=环境 & 上下文=对象+行为+环境
			事物的存在和运行所依赖的全部资源(能够看到和使用的一切)(环境). 上下文研究的是一个时段内,多个主体.对象在历次操作活动时,在空间的信息投射. 上下文是事物存在和生存活动的气泡,气泡消失,事物消失. ... 
- sql server 分页总结
			1.第一种方式:使用 ROW_NUMBER() OVER(ORDER BY ID) …… BETWEEN AND 的方式SELECT * FROM( SELECT ROW_NUMBER() OVER( ... 
- C#  递增操作符 ++  --
			记混了好几次,记录一下 递增操作符出现在操作数之前:先递增后赋值 ; int result; result =++count; Console.WriteLine($"count:{coun ... 
- mac下搭建Apache服务器环境
			mac下自带了一个Apache服务环境,所以不需要另外去下载,直接配置就好了. 一.启动Apache服务 在终端下输入 sudo apachectl start , 启动Apache服务.在浏览器输入 ... 
