zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    Java数据结构与算法(1)
    Ubuntu 19.04 桌面版的安装
    MySQL编程(0)
    CentOS 7.6 系统的安装
    CSharp设计模式读书笔记(24):访问者模式(学习难度:★★★★☆,使用频率:★☆☆☆☆)
    Xshell 5 远程连接工具的安装
    CSharp设计模式读书笔记(23):模板方法模式(学习难度:★★☆☆☆,使用频率:★★★☆☆)
    VMware 12 虚拟机软件的安装
    CSharp设计模式读书笔记(22):策略模式(学习难度:★☆☆☆☆,使用频率:★★★★☆)
    OpenStack-启动实例
  • 原文地址:https://www.cnblogs.com/gzhcsu/p/11446264.html
Copyright © 2011-2022 走看看