欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系。本系列教程希望您能站在上帝的角度去观察(了解)Java体系。使Java的各种后端技术在你心中模块化;让你在工作中能将Java各个技术了然于心;能够即插即用。本章我们来一起了解Spring对JDBC的支持和基本使用。

Spring对数据访问提供的支持

提供于平台无关的的持久化异常体系

提供模板简化数据持久化开发

提供于平台无关的的持久化异常体系

Spring对JDBC的SQLException进行封装,你不需要做什么;只需要将SpringJDBC的Jar包导入即可,这样你就可以在Spring所支持的数据访问模板中享受到这些异常~~

org.springframework

spring-jdbc

4.1.1.RELEASE

提供模板简化数据持久化开发

针对不同的持久化平台,Spring提供了多个可选则使用的模板,常用的模板类如下

模板类

用途

jdbc.core.JdbcTemplate

JDBC的链接

orm.jdo.JdoTemplate

Java数据对象实现

orm.jpa.JpaTemplate

Java持久化API的实体管理器

orm.ibatis.SqlMapClientTemplate

IBATIS SqlMap客户端

orm.hibernate3.HibernateTemplate

Hibernate3.x以上的Session

装配数据源

无论你使用哪一种模板类,你都需要配置一个数据源的引用,Spring提供了在Spring上下文中配置数据源Bean的多种方式

通过JDBC驱动程序定义的数据源

通过JNDI查找数据源

连接池的数据源

具体详细的数据源装配,我会另开一篇进行解析介绍,在本篇案例中使用的是阿里巴巴的druid连接池,使用过程如下

加载依赖

com.alibaba

druid

1.1.12

配置数据源

@Bean

public DruidDataSource dataSource() {

DruidDataSource ds = new DruidDataSource();

ds.setDriverClassName(environment.getProperty("jdbc.driver"));

ds.setUrl(environment.getProperty("jdbc.url"));

ds.setUsername(environment.getProperty("jdbc.username"));

ds.setPassword(environment.getProperty("jdbc.password"));

ds.setInitialSize(5);

return ds;

}

配置JDBC模板类

@Bean

public JdbcTemplate jdbcTemplate(DataSource dataSource) {

return new JdbcTemplate(dataSource);

}

Dao层相关代码

@Autowired

private JdbcOperations jdbcOperations;

@Override

public User getUser(String username) {

List query = jdbcOperations.query(SELECT_USER_BY_ID, new UserRowMapper(), username);

return query.get(0);

}

Spring对java模块化支持_Spring项目对JDBC的支持和基本使用相关推荐

  1. 加上项目路径 spring security忽略不生效_Spring 常见面试题「收藏」

    Spring 常见面试题 1 Spring框架是什么?它的主要模块有哪些? Spring框架是一个Java平台,提供全面的基础设施支持开发Java应用程序.Spring处理基础设施部分,这样你就可以专 ...

  2. 为什么在2012/2013年我将在新的Enterprise Java项目中继续使用Spring *和* Java EE

    自从我担任技术决策职务以来已经过去了一年多,很高兴看到我仍然与之保持着完美的和谐. 几个月前,我在KaiWähner的一个不错的博客中写了一个有关JEE与Spring的答案. 如果观点没有不同,那么讨 ...

  3. 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题

    解决Spring的java项目打包后执行出现"无法读取方案文档..."."原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是..."问题 ...

  4. java 项目启动初始化_Spring项目启动时执行初始化方法

    一.applicationContext.xml配置bean init-method="initKeyWord"> classpath:sensitive-word.xml ...

  5. 深入理解OSGI:Java模块化之路

    Java可能是近20年来最成功的开发技术,因其具备通用性.高效性.平台移植性和安全性而成为不同硬件平台理想的开发工具.从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java技术 ...

  6. Java模块化的守护神-OSGi就是这么简单!

    引子 说到OSGi,可能有些人会有些懵,这个概念的知名度确实不像JVM.Spring全家桶等这种"网红"人物这么出名,OSGi联盟成立于1999年,直到2007年的时候,能否采纳还 ...

  7. 转Java转iOS-第一个项目总结(2):遇到问题和解决方案

    目录 1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Ja ...

  8. 热议:这样的开源项目,你会支持吗?

    来源:https://zhuanlan.zhihu.com/p/478412327 今天无聊刷GitHub看到一个让我血压上来的项目 乍一看,2.4k star,应该不像是什么小项目应该是比较有用的项 ...

  9. Java转iOS-第一个项目总结(2)

    2019独角兽企业重金招聘Python工程师标准>>> ##遇到问题和解决方案     本文是Java转iOS-第一个项目总结(1)的内容补充,分析遇到的一些问题和解决方案,分享一些 ...

最新文章

  1. 实验一 编程 Hello World
  2. Facebook将React的许可改为MIT
  3. 第五章 处理器拦截器详解——跟着开涛学SpringMVC
  4. 您的第一个简单的机器学习项目
  5. 6面向对象的程序设计
  6. Feature Engineering 特征工程 1. Baseline Model
  7. 人工智能的数学基础(二):函数
  8. 使用 ADSync 集成 IBM Lotus Domino Directory 和 Microsoft Active Directory
  9. 科多大数据_redis缓存的简单使用—科多大数据
  10. 系统地介绍计算材料科学的发展现状、主要理论框架和设计实践方法,汪林望博士作序《计算材料学——设计与实践方法(第2版)》
  11. 如何在线批量将PDF转换成JPG格式
  12. 【量化笔记】量价关系分析
  13. 2017年PHP培训机构排名
  14. elementUI表格合并行
  15. html中一些标签怎么打印,html2ps - 如何打印小标签?
  16. linux主机又又中木马了
  17. 【计算机视觉】回顾2022年计算机视觉领域最激动人心的进展
  18. 两分钟了解HTTP请求报文和响应报文
  19. 零成本修复XBox手柄摇杆漂移
  20. 尚医通_第1章-项目简介

热门文章

  1. java map中的entry_java中Map及Map.Entry详解(组图)
  2. python2.7中文有限制么_python2.7
  3. 在QGraphicsView中拖动QGraphicsWidget
  4. delimited mysql_在MySQL中存儲逗號分隔的數據
  5. vscode 新建php模板,使用vscode快速建立vue模板
  6. 快讯千树资本投资柒小佰 踏入儿童出行消费领域...
  7. 认识本质:黑天鹅、关键时刻与张小龙的产品观
  8. ​shell中经常能看到的:/dev/null 21
  9. java:Eclipse:Juno:设置workspace路径
  10. Fedora 17 PHP编程环境配置