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

jimisun 2018-11-05 原文

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

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

Spring对数据访问提供的支持

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

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

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

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.1.1.RELEASE</version>
        </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连接池,使用过程如下
加载依赖

        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>

配置数据源

    @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<User> query = jdbcOperations.query(SELECT_USER_BY_ID, new UserRowMapper(), username);
        return query.get(0);
    }

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

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 Boot 项目打成 war 包部署,接口报 404 问题

    Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring B […]...

  2. 1、SpringBoot+MybatisPlus整合

    1 <?xml version="1.0" encoding="UTF-8"?> 2 <pr […]...

  3. 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心

    在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心。注册中心作为管理在整个项目群的配置文 […]...

  4. SpringBoot项目在idea中运行正常,打包jar包后运行报NoClassDefFoundError和UnsatisfiedDependencyException解决方案

    SpringBoot项目在idea中运行正常,打包jar包后运行报NoClassDefFoundError和U […]...

  5. Spring Cloud第二篇 | 使用并认识Eureka注册中心

    ​ 本文是Spring Cloud专栏的第二篇文章,了解前一篇文章内容有助于更好的理解本文: Spring C […]...

  6. Spring Cloud (十五)Stream 入门、主要概念与自定义消息发送与接收

    前言 不写随笔的日子仿佛就是什么都没有产出一般……上节说到要学Spring Cloud Bus,这里发现按照官 […]...

  7. 【SpringBoot基础系列】手把手实现国际化支持实例开发

    【SpringBoot基础系列】手把手实现国际化支持实例开发 国际化的支持,对于app开发的小伙伴来说应该比价 […]...

  8. Java SpringBoot集成RabbitMq实战和总结

    Java SpringBoot集成RabbitMq实战和总结 目录 交换器、队列、绑定的声明 关于消息序列化 […]...

随机推荐

  1. 理解镜像和容器,并运行whalesay镜像

    了解镜像和容器 Docker引擎提供了使能镜像和容器的核心Docker技术。在安装过程的最后一步,你运行了do […]...

  2. 事件及事件的三种模型

    事件及事件的三种模型 一、开篇          在学习javascript之初,就在网上看过不少介绍java […]...

  3. 团队管理、团队人员技术培养 的 思考和交流

    工作感想 从参加工作以来,带领的团队有3个人的、5个人的,最多的时候是一个部门12个人。团队成员包括前端、后端 […]...

  4. 一个简单的WebService例子

       下面,我们将用C#建立一个名为“SecurityWebService”的Web Service。一个We […]...

  5. web.xml分析

    web.xml分析 一:web.xml加载过程:   1.启动WEB项目的时候,容器首先会去读取web.xml […]...

  6. java.sql.SQLException: Column Index out of range, n + 1 > n

    自己在跟着视频做Demo , 遇到的问题 首先找到了强大的度娘,结果发现度娘上的答案几乎千篇一律,还好安了个插 […]...

  7. java集合之HashMap

    Map是java中的一种数据结构,围绕着Map接口,有一系列的实现类如Hashtable、HashMap、Li […]...

  8. 联通宽带光猫超级密码破解教程

    1.设置工程账号登陆在浏览器上输入 http://192.168.1.1/logoffaccount.html […]...

展开目录

目录导航