Spring项目对JDBC的支持和基本使用

jimisun 2018-11-05 原文

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

  • 提供于平台无关的的持久化异常体系
  • 提供模板简化数据持久化开发

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

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-jdbc</artifactId>
  4. <version>4.1.1.RELEASE</version>
  5. </dependency>

针对不同的持久化平台,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连接池,使用过程如下
加载依赖

  1. <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
  2. <dependency>
  3. <groupId>com.alibaba</groupId>
  4. <artifactId>druid</artifactId>
  5. <version>1.1.12</version>
  6. </dependency>

配置数据源

  1. @Bean
  2. public DruidDataSource dataSource() {
  3. DruidDataSource ds = new DruidDataSource();
  4. ds.setDriverClassName(environment.getProperty("jdbc.driver"));
  5. ds.setUrl(environment.getProperty("jdbc.url"));
  6. ds.setUsername(environment.getProperty("jdbc.username"));
  7. ds.setPassword(environment.getProperty("jdbc.password"));
  8. ds.setInitialSize(5);
  9. return ds;
  10. }

配置JDBC模板类

  1. @Bean
  2. public JdbcTemplate jdbcTemplate(DataSource dataSource) {
  3. return new JdbcTemplate(dataSource);
  4. }

Dao层相关代码

  1. @Autowired
  2. private JdbcOperations jdbcOperations;
  3. @Override
  4. public User getUser(String username) {
  5. List<User> query = jdbcOperations.query(SELECT_USER_BY_ID, new UserRowMapper(), username);
  6. return query.get(0);
  7. }

本章完整代码地址:完整项目下载地址点击此处

posted on 2018-11-05 11:21 jimisun 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为jimisun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jimisun/p/9908082.html

Spring项目对JDBC的支持和基本使用的更多相关文章

  1. Spring Ioc 依赖查找

          Spring ioc 有依赖查找和依赖注入,之前不太明白依赖查找是什么意思,翻了一大堆博客看了好多 […]...

  2. SpringBoot第五集:整合监听器/过滤器和拦截器(2020最新最易懂)

    SpringBoot第五集:整合监听器/过滤器和拦截器(2020最新最易懂)   在实际开发过程中,经常会碰见 […]...

  3. 模板引擎 Thymeleaf 动态渲染 HTML

    1、添加依赖 <!-- Thymeleaf 模板引擎 --> <dependency> […]...

  4. 利用Thread.stop方法完成方法执行超时中断

    示例代码可以从github上获取 https://github.com/git-simm/simm-frame […]...

  5. Spring Boot SpringApplication启动类(二)

    目录 前言 1、起源 2、SpringApplication 运行阶段 2.1 SpringApplicati […]...

  6. Spring Bean管理

    IOC容器 工厂只负责创建对象,而Spring当然不仅仅是一个对象工厂;其核心是一个对象容器,由于具备控制反转 […]...

  7. Spring MVC 文件上传 & 文件下载

    索引: 开源Spring解决方案–lm.solution 参看代码 GitHub: pom.xml […]...

  8. Docker容器启动时初始化Mysql数据库

    1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mys […]...

随机推荐

  1. Google Chrome离线安装包下载 谷歌浏览器下载

    Google Chrome 稳定版 官方本地下载地址: Google Chrome v47.0.2526.10 […]...

  2. 为什么要学会正则表达式

      一直以来,我都认为能手写正则表达式的人都是大神,至少不会是坑。正则表达式这个知识领域,在各种语言中被大神们 […]...

  3. 面试:用 Java 逆序打印链表

    昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入了 volatile 关键字, […]...

  4. Java描述设计模式(19):模板方法模式

    本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务 […]...

  5. linux调度全景指南

          ​   | 导语 本文主要是讲Linux的调度系统, 由于全部内容太多,分三部分来讲,调度可以说是 […]...

  6. Chrome谷歌浏览器VUE Devtools插件

    步骤一: 下载插件:点击下载  点击推荐下载即可。下载不到也可以下载我的百度网盘地址(5.3.3):链接: h […]...

  7. 移动端网站优化指南-WAP篇

    移动端网站优化指南-WAP篇 转载:http://seofangfa.com/mobile-seo/mobil […]...

  8. 企业内部控制应用指引之一:发展战略之战略风险

                                   企业内部控制应用指引之一:发展战略之战略风险 企 […]...

展开目录

目录导航