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创建docker image

    目录 简介 传统做法和它的缺点 使用Buildpacks Layered Jars 自定义Layer 简介 在 […]...

  2. Spring Cloud 系列之 Bus 消息总线

    什么是消息总线 消息代理中间件构建一个共用的消息主题让所有微服务实例订阅,当该消息主题产生消息时会被所有微服务 […]...

  3. spring源码深度解析— IOC 之 默认标签解析(上)

    概述 接前两篇文章  spring源码深度解析—Spring的整体架构和环境搭建  和  spring源码深度 […]...

  4. Spring拦截器WebMvcConfigurer针对Swagger的拦截问题

    首先在这里复现下新项目开始在springboot项目里使用Swagger遇到的两个报错问题 注:本人使用Ecl […]...

  5. Spring 整合WebSocket, Error during WebSocket handshake: Unexpected response code: 302 还有200的错误

    springboot 集成websocket 及其简单,,,但是管理端使用的是Spring,原生配置,发生这个 […]...

  6. Spring的RestTemplata使用

    spring-web的RestTemplata是对java底层http的封装,使用RestTemplata用户 […]...

  7. Spring IOC 特性有哪些,不会读不懂源码!

    作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!...

  8. Spring Security 实战干货:客户端OAuth2授权请求的入口

    1. 前言 在Spring Security 实战干货:OAuth2第三方授权初体验一文中我先对OAuth2. […]...

随机推荐

  1. 打印网页不显示页眉页脚 – 森大科技

    打印网页不显示页眉页脚 来自森大科技官方博客http://www.cnsendblog.com/index.p […]...

  2. 如何在CAD图纸中插入图片?这种方法很实用

      CAD中每天都会有很多的图形来进行绘制,那就可以使用一些技巧来节省我们的绘图时间,提高大家的工作效率。就比 […]...

  3. 一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦

    背景 18年公司准备在技术上进行转型,而公司技术团队是互相独立的,新技术的推动阻力很大。我们需要找到一个切入点 […]...

  4. C语言寒假大作战02

    2.2.1 寒假大作战 问题 回答 这个作业属于哪个课程 2019软件四班C语言寒假作业大作战 这个作业要求在 […]...

  5. java实习第一阶段总结二

    更改项目需求以及项目之前阻塞模式问题的叙述已经在上一篇说过了,详情可参考:https://www.cnblog […]...

  6. 高校学生考勤管理系统功能设计(笔记2)

    一、基本信息 标题:高校学生考勤管理系统功能设计 时间:2016年12期 来源:电子技术与软件工程 关键词:考 […]...

  7. 1.springIOC以及相关的使用

    新建工程,导入jar,添加spring配置文件(配置文件xxxx.xml)! 1.Helloword实现 He […]...

  8. 入侵检测基本准则(Basic principles of intrusion detection)【v1.0】

    入侵检测基本准则(Basic principles of intrusion detection)【v1.0】 […]...

展开目录

目录导航