zoukankan      html  css  js  c++  java
  • 再次深入探索datasource问题?

    datasource现在几乎每个web框架都会有集成,但是对于数据源的设计原理以及应用上,很少进行深入的研究;实际上数据源也是web框架的核心之一了解一下其内涵还是非常重要的。

    数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。

    根据这样的定义,那么我们就应该先了解一下数据库连接;数据库连接在各种编程语言都有自己的实现,简单的如JDBC:

    public static void main(String[] args) {
    Scanner in =new Scanner(System.in);

    Connection conn = null;
    Statement st = null; // 用于执行SQL语句的对象,当然还有其他的对象也可以用于执行SQL语句

    try {

    Class.forName("oracle.jdbc.driver.OracleDriver");// 加载数据库驱动包,这里是Oracle的驱动包

    conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","scott");

    // url 连接数据库的地址类似的如:

    //"jdbc:mysql://localhost/test?user=root&password=root&useUnicode=true&&characterEncoding=gb2312&autoReconnect = true";

    //简单写法:url = //"jdbc:myqsl://localhost/test(数据库名)? user=root(用户)&password=root(密码)";


    String name = in.next();
    String date = in.next();
    String sql = "update student set stu_name='"+name+"',stu_birthday=to_date('"+date+"','yyyy-mm-dd') where stu_id=7";
    System.out.println(sql);


    st = conn.createStatement();

    int num = st.executeUpdate(sql);
    if(num>0){
    System.out.println("修改成功");
    }


    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{

    try {
    if(st!=null)
    st.close();

    if(conn!=null)
    conn.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }



    }
    System.out.println("程序结束");


    }

    实际上我们无论使用哪种持久化技术,都需要通过数据连接来访问数据库;而数据连接在大多数web框架中都是通过数据源获得;如spring,既可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,你还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试配置一个数据源。

    常见的web框架数据源配置方式都是通过在config文件中配置相应的需要访问的数据库信息,并将配置信息加载到某个数据源中如:HikariDataSource;以及注册相应的数据库驱动等等。当然也有在xml配置文件中配置相应的数据源,并注册所有的相关信息如spring的配置。

    通过分析基本可以看出数据源类似一个载体,里面包含我们需要访问某个数据库的连接等等信息;而在各种web框架的实现上都可以看成是JDBC的衍生。

  • 相关阅读:
    Design and Implementation of the Sun Network File System
    Flash: An Efficient and Portable Web Server
    Java集合框架练习-计算表达式的值
    后缀数组专题训练
    经典问题-生产者和消费者问题
    ubuntu14.04下配置Java环境以及安装最新版本的eclipse
    Java多线程之CountDownLatch学习
    ZooKeerper学习之Watcher
    ZooKeeper之FastLeaderElection算法详解
    python获取当天日期进行格式转换
  • 原文地址:https://www.cnblogs.com/monion/p/5022108.html
Copyright © 2011-2022 走看看