精华内容
下载资源
问答
  • 一、Hibernate访问数据库时加载的过程 对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure(); 在H
     
    

    一、Hibernate访问数据库时加载的过程

    对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure();

    在Hibernate中,Configuration是hibernate的入口。在实例化一个Configuration的时候,Hibernate会自动在环境变量(classpath)里面查找Hibernate配置文件hibernate.properties。如果该文件存在,则将该文件的内容加载到一个Properties的实例GLOBAL_PROPERTIES里面,如果不存在,将打印信息  hibernate.properties not found;

    接下来Hibernate将所有系统环境变量(System.getProperties())也添加到GLOBAL_PROPERTIES里面。如果配置文件hibernate.properties存在,系统还会进一步验证这个文件配置的有效性,对于一些已经不支持的配置参数,系统将打印出警告信息。 

    默认状态下configure()方法会自动在环境变量(classpath)下面寻找Hibernate配置文件hibernate.cfg.xml,如果该文件不存在,系统会打印如下信息并抛出HibernateException异常: hibernate.cfg.xml not found;如果该文件存在,configure()方法会首先访问<session-factory>,并获取该元素name的属性,如果name的属性非空,将用这个配置的值来覆盖hibernate.properties的hibernate.session_factory_name的配置的值,从这里我们可以看出,hibernate.cfg.xml里面的配置信息可以覆盖hibernate.properties的配置信息。

    接下来configure()方法访问<session-factory>的子元素,首先将使用所有的<property>元素配置的信息来覆盖hibernate.properties里面对应的配置信息。
    然后configure()会依次访问以下几个元素的内容

    <mapping>
    <jcs-class-cache>
    <jcs-collection-cache>
    <collection-cache>


    其中<mapping>是必不可少的,必须通过配置<mapping>,configure()才能访问到我们定义的java对象和关系数据库表的映射文件(hbm.xml),例如:
    <mapping resource="Cat.hbm.xml"/>

    这样configure()方法利用各种资源就创建了一个Configuration实例。对于整个项目来说,如果用一个本地线程来存放这个Configuration实例,那么整个项目只需要实例化一次Configuration对象(注:Configuration实例很花费时间),也就提高了项目的效率。

    二、Hibernate访问多个数据库的配置
    根据以上所述,configure()方法默认是通过访问hibernate.cfg.xml的<mapping>元素来加载我们提供的.hbm.xml文件。我们也可以直接指定hbm.xml文件,例如addClass()方法可以直接通过指定class来加载对应的映射文件,hibernate会将提供的class的全名(包括package)自动转化为文件路径,还可以用addFile方法直接指定映射文件。例如:
    Configuration configurate = new Configuration().addClass(“Book.class”);
    Configuration configurate = new Configuration().addURL(Configuration.class.getResource ("/Book.hbm.xml"));
    Configuration config = new Configuration().addFile("/Cat.hbm.xml");


    这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取SessionFactory的代码如下:
    SessionFactory mysqlFactory = new Configuration().configure("/mysql.cfg.xml").buildSessionFactory(); 
    SessionFactory sqlserverFactory = new Configuration().configure("sqlserver.cfg.xml ").buildSessionFactory(); 


    如果你用spring,多数据库就更简单了,像这段代码可以完成所有配置:
    展开全文
  • 背景:多个进程代表多个数据库操作instance,每个进程有自己的ApplicationContext。多个进程内存不共享。 写代码做了测试测试代码在最后,虽然sqlite不是线程安全的,但是在安卓多进程同时调用插入式没有问题的,并...

    一、多进程访问同一个数据库是否安全

    背景:多个进程代表多个数据库操作instance,每个进程有自己的ApplicationContext。多个进程内存不共享。

    写代码做了测试测试代码在最后,虽然sqlite不是线程安全的,但是在安卓多进程同时调用插入式没有问题的,并没有发生错误和冲突。因此网络上也就没有发现解决多进程访问数据库的问题,也就是不存在这样的问题。但是,并不能保证多个进程插入的顺序。

    二、多进程有执行顺序要求的处理办法

    只是证明了多进程可以同时添加数据,但对于有执行顺序要求的数据库操作可能并不能满足,即便使用了事务(事务是在线程的前提下工作的)如果真的需要考虑执行顺序但又需要多个进程同时访问也有方法。

    原理是:

    1.把数据库单独放大一个进程里面,也就是多个进程操作最后都要经过统一的入口开操作,

    2.对其他进程提供接口,目的是保证数据库操作只在一个进程里面完成

    3.同时在这个进程里面使用事务或者单线程保证操作的顺序。

    4.保证了数据插入更改的顺序,当然也就有了性能瓶颈。

    实现方法:

    1.在项目里面的所有使用数据库的进程里,挑选其中一个作为操作数据库的唯一进程。

    2.在这个进程里面定义context provider 包裹数据库(context provider 是用了进程间通信的安卓标准四大组件之一)

    3.其他进程通过context provider 来操作数据库

    4.也就是说context provider 成为唯一的数据库操作入口

    三、sqlite处理线程不安全的方法

    sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作(可以自己写事务代码控制事务把多条插入语句弄到一个事务里,因为事务降低了效率)测试多进程没有问题,也就是说在使用sqlite的时候只要考虑多线程访问的安全。因为俩个线程同时插入会抛出异常。既然是线程安全,那么加锁和同步代码块的方法(synchronized)就可以保证使用不抛出异常。

    下面是对线程安全处理的示例代码:

    public synchronized void insertNewTask(int tid, int start) {//调用插入数据库的代码 }

    public synchronized List getAllTask() {//调用读取数据库的代码}

    四、测试安卓多进程访问数据是否有安全的的全部代码

    https://github.com/robert1207/DbMultProcess

    展开全文
  • hibernate连接多个数据库

    千次阅读 2012-06-08 11:05:09
    本文转自 自... 一、 Hibernate访问数据库时加载的过程 对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().

    本文转自

    自http://blog.sina.com.cn/s/blog_49bf8585010004m6.html


    一、             Hibernate访问数据库时加载的过程

    对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure();

    在Hibernate中,Configuration是hibernate的入口。在实例化一个Configuration的时候,Hibernate会自动在环境变量(classpath)里面查找Hibernate配置文件hibernate.properties。如果该文件存在,则将该文件的内容加载到一个Properties的实例GLOBAL_PROPERTIES里面,如果不存在,将打印信息  hibernate.properties not found;

    接下来Hibernate将所有系统环境变量(System.getProperties())也添加到GLOBAL_PROPERTIES里面。如果配置文件hibernate.properties存在,系统还会进一步验证这个文件配置的有效性,对于一些已经不支持的配置参数,系统将打印出警告信息。

    默认状态下configure()方法会自动在环境变量(classpath)下面寻找Hibernate配置文件hibernate.cfg.xml,如果该文件不存在,系统会打印如下信息并抛出HibernateException异常: hibernate.cfg.xml not found;如果该文件存在,configure()方法会首先访问<session-factory>,并获取该元素name的属性,如果name的属性非空,将用这个配置的值来覆盖hibernate.properties的hibernate.session_factory_name的配置的值,从这里我们可以看出,hibernate.cfg.xml里面的配置信息可以覆盖hibernate.properties的配置信息。

    接下来configure()方法访问<session-factory>的子元素,首先将使用所有的<property>元素配置的信息来覆盖hibernate.properties里面对应的配置信息。

    然后configure()会依次访问以下几个元素的内容

    <mapping>

    <jcs-class-cache>

    <jcs-collection-cache>

    <collection-cache>

    其中<mapping>是必不可少的,必须通过配置<mapping>,configure()才能访问到我们定义的java对象和关系数据库表的映射文件(hbm.xml),例如:

    <mapping resource="Cat.hbm.xml"/>

    这样configure()方法利用各种资源就创建了一个Configuration实例。对于整个项目来说,如果用一个本地线程来存放这个Configuration实例,那么整个项目只需要实例化一次Configuration对象(注:Configuration实例很花费时间),也就提高了项目的效率。

     

    二、             Hibernate访问多个数据库的配置

    根据以上所述,configure()方法默认是通过访问hibernate.cfg.xml的<mapping>元素来加载我们提供的.hbm.xml文件。我们也可以直接指定hbm.xml文件,例如addClass()方法可以直接通过指定class来加载对应的映射文件,hibernate会将提供的class的全名(包括package)自动转化为文件路径,还可以用addFile方法直接指定映射文件。例如:Configuration configurate = new Configuration().addClass(“Book.class”);

    Configuration configurate = new Configuration().addURL(Configuration.class.getResource ("/Book.hbm.xml"));

    Configuration config = new Configuration().addFile("/Cat.hbm.xml");

    这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取SessionFactory的代码如下:

    SessionFactory mysqlFactory = new Configuration().configure("/mysql.cfg.xml").buildSessionFactory();

    SessionFactory sqlserverFactory = new Configuration().configure("sqlserver.cfg.xml ").buildSessionFactory();

    同时连接两个数据库实例:

    问题:连接mssql中的vedio 和bbs数据库

    解决方案:

    1.vedio.cfg.xml

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

    <hibernate-configuration>
    <session-factory name="bbs">
     <!-- 指定连接数据库的用户名 -->
     <property name="connection.username">sa</property>
     <!-- 指定连接数据库的URL -->
     <property name="connection.url">
      jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=vedio;  
     </property>

     <!-- 指定数据库使用的SQL方言 -->
     <property name="dialect">
      org.hibernate.dialect.SQLServerDialect
     </property>
     <!-- 指定连接数据库的口令 -->
     <property name="connection.password">sa</property>
     <!-- 指定连接数据库的驱动程序 -->
     <property name="connection.driver_class">
      com.microsoft.jdbc.sqlserver.SQLServerDriver
     </property>
     <!-- true表示程序运行时,在控制台显示SQL语句,false表示不显示SQL语句 -->
     <property name="show_sql">true</property>
     <!-- <property name="connection.pool_size">50</property> -->

     <!-- 持久化类所对应的映射文件 -->
     <mapping resource="vedio/Managers.hbm.xml" />


    </session-factory>
    </hibernate-configuration>

     

    2. bbs.cfg.xml

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

    <hibernate-configuration>
    <session-factory name="bbs">
     <!-- 指定连接数据库的用户名 -->
     <property name="connection.username">sa</property>
     <!-- 指定连接数据库的URL -->
     <property name="connection.url">
      jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bbs;  
     </property>
     <!-- 指定数据库使用的SQL方言 -->
     <property name="dialect">
      org.hibernate.dialect.SQLServerDialect
     </property>
     <!-- 指定连接数据库的口令 -->
     <property name="connection.password">sa</property>
     <!-- 指定连接数据库的驱动程序 -->
     <property name="connection.driver_class">
      com.microsoft.jdbc.sqlserver.SQLServerDriver
     </property>
     <!-- true表示程序运行时,在控制台显示SQL语句,false表示不显示SQL语句 -->
     <property name="show_sql">true</property>
     <!-- <property name="connection.pool_size">50</property> -->

     <!-- 持久化类所对应的映射文件 -->
     <mapping resource="bbs/Board.hbm.xml" />
     <mapping resource="bbs/BBSUser.hbm.xml" />
     <mapping resource="bbs/BBSManager.hbm.xml" />
     <mapping resource="bbs/Image.hbm.xml" />
     <mapping resource="bbs/Upfile.hbm.xml" />
     <mapping resource="bbs/Post.hbm.xml" />
     <mapping resource="bbs/BestPost.hbm.xml" />
     <mapping resource="bbs/User.hbm.xml" />
     <mapping resource="bbs/Groups.hbm.xml" />
     <mapping resource="bbs/Help.hbm.xml" />
     <mapping resource="bbs/Note.hbm.xml" />
     <mapping resource="vedio/Managers.hbm.xml" />


    </session-factory>
    </hibernate-configuration>

    3.VedioHibernateUTL.java

    package vedio;

    import org.hibernate.*;
    import org.hibernate.cfg.*;

    public class HibernateUtil {
     
     public static final SessionFactory sessionFactory;
      static {
       try{
        sessionFactory=new Configuration().configure("/vedio.cfg.xml").buildSessionFactory();
        
       }catch(Throwable ex) {
        
        throw new ExceptionInInitializerError(ex);
       }
      }
     
     public static final ThreadLocal<Session> session =new ThreadLocal<Session>();
     
     //create session
     public static Session currentSession() throws HibernateException {
      Session s= session.get();
      if(s==null||!s.isOpen()) {
       s=sessionFactory.openSession();
       session.set(s);
      }
      return s;
     }
     
     //close session
     public static void closeSession() throws HibernateException {
      Session s=session.get();
      session.set(null);
      if(s!=null) {
       s.close();
      }
      
     }
    }

     

    4.BbsHibernateUTL.java

    package bbs;

    import org.hibernate.*;
    import org.hibernate.cfg.*;

    public class HibernateUtil {
     
     public static final SessionFactory sessionFactory;
      static {
       try{
        sessionFactory=new Configuration().configure("/bbs.cfg.xml").buildSessionFactory();
        
       }catch(Throwable ex) {
        
        throw new ExceptionInInitializerError(ex);
       }
      }
     
     public static final ThreadLocal<Session> session =new ThreadLocal<Session>();
     
     //create session
     public static Session currentSession() throws HibernateException {
      Session s= session.get();
      if(s==null||!s.isOpen()) {
       s=sessionFactory.openSession();
       session.set(s);
      }
      return s;
     }
     
     //close session
     public static void closeSession() throws HibernateException {
      Session s=session.get();
      session.set(null);
      if(s!=null) {
       s.close();
      }
      
     }
    }

    然后写相应的 表名.hbm.xml文件

    总结一下:一人数据源对应一个.cfg.xml文件,一个HibernateUTL.java,对应多个 表名.hbm.xml

     

    如果你用spring,多数据库就更简单了,像这段代码可以完成所有配置:

    <beans>

    <bean id="mysqlDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <property name="url">

    <value>jdbc:mysql://localhost:3306/test</value>

    </property>

    <property name="driverClassName">

    <value>org.gjt.mm.mysql.Driver</value>

    </property>

    <property name="username">

    <value>root</value>

    </property>

    <property name="password">

    <value>123</value>

    </property>

    </bean>

    <bean id="mysqlFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="dataSource">

    <ref local="mysqlDS"/>

    </property>

    <property name="hibernateProperties">

    <props>

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

    </props>

    </property>

    <property name="mappingResources">

    <list>

    <value>test.hbm.xml</value>

    </list>

    </property>

    </bean>

    <bean id="sqlserverDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <property name="url">

    <value>jdbc:odbc:test</value>

    </property>

    <property name="driverClassName">

    <value>sun.jdbc.odbc.JdbcOdbcDriver</value>

    </property>

    <property name="username">

    <value>root</value>

    </property>

    <property name="password">

    <value>123</value>

    </property>

    </bean>

    <bean id="sqlserverFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="dataSource">

    <ref local="sqlserverDS"/>

    </property>

    <property name="hibernateProperties">

    <props>

    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>

    </props>

    </property>

    <property name="mappingResources">

    <list>

    <value>test.hbm.xml</value>

    </list>

    </property>

    </bean>

    .......

    </beans> 


    展开全文
  • Hibernate访问多个数据库

    千次阅读 2006-06-22 20:48:00
    Hibernate访问多个数据库作者:杨晓来源:http://blog.sina.com.cn/u/1237288325 一、 Hibernate访问数据库时加载的过程对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: ...

    Hibernate访问多个数据库

    作者:杨晓

    来源:http://blog.sina.com.cn/u/1237288325

     

    一、             Hibernate访问数据库时加载的过程

    对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure();

    Hibernate中,Configurationhibernate的入口。在实例化一个Configuration的时候,Hibernate会自动在环境变量(classpath)里面查找Hibernate配置文件hibernate.properties。如果该文件存在,则将该文件的内容加载到一个Properties的实例GLOBAL_PROPERTIES里面,如果不存在,将打印信息  hibernate.properties not found

    接下来Hibernate将所有系统环境变量(System.getProperties())也添加到GLOBAL_PROPERTIES里面。如果配置文件hibernate.properties存在,系统还会进一步验证这个文件配置的有效性,对于一些已经不支持的配置参数,系统将打印出警告信息。

    默认状态下configure()方法会自动在环境变量(classpath)下面寻找Hibernate配置文件hibernate.cfg.xml,如果该文件不存在,系统会打印如下信息并抛出HibernateException异常: hibernate.cfg.xml not found如果该文件存在,configure()方法会首先访问<session-factory>,并获取该元素name的属性,如果name的属性非空,将用这个配置的值来覆盖hibernate.propertieshibernate.session_factory_name的配置的值,从这里我们可以看出,hibernate.cfg.xml里面的配置信息可以覆盖hibernate.properties的配置信息。

    接下来configure()方法访问<session-factory>的子元素,首先将使用所有的<property>元素配置的信息来覆盖hibernate.properties里面对应的配置信息。

    然后configure()会依次访问以下几个元素的内容

    mapping
    jcs-class-cache
    jcs-collection-cache
    collection-cache

    其中<mapping>是必不可少的,必须通过配置<mapping>,configure()才能访问到我们定义的java对象和关系数据库表的映射文件(hbm.xml),例如:

    mapping resource="Cat.hbm.xml"/

    这样configure()方法利用各种资源就创建了一个Configuration实例。对于整个项目来说,如果用一个本地线程来存放这个Configuration实例,那么整个项目只需要实例化一次Configuration对象(注:Configuration实例很花费时间),也就提高了项目的效率。

     

    二、             Hibernate访问多个数据库的配置

    根据以上所述,configure()方法默认是通过访问hibernate.cfg.xml的<mapping>元素来加载我们提供的.hbm.xml文件。我们也可以直接指定hbm.xml文件,例如addClass()方法可以直接通过指定class来加载对应的映射文件,hibernate会将提供的class的全名(包括package)自动转化为文件路径,还可以用addFile方法直接指定映射文件。例如:Configuration configurate = new Configuration().addClass(“Book.class”);
    Configuration configurate = new Configuration().addURL(Configuration.class.getResource ("/Book.hbm.xml"));

    Configuration config = new Configuration().addFile("/Cat.hbm.xml");

    这样,如果用xml配置来配置多个数据库的话,那就写多个配置文件。这里假设对应两个数据库(一个是MySQL,一个是SQLServer),我们可以把其xml文件定义为“mysql.cfg.xml”和“sqlserver.cfg.xml”。则用Configuration类获取SessionFactory的代码如下:
    SessionFactory mysqlFactory = new Configuration().configure("/mysql.cfg.xml").buildSessionFactory();
    SessionFactory sqlserverFactory = new Configuration().configure("sqlserver.cfg.xml ").buildSessionFactory();

    如果你用spring,多数据库就更简单了,像这段代码可以完成所有配置:
    <beans>
    <bean id="mysqlDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="url">
    <value>jdbc:mysql://localhost:3306/test</value>
    </property>
    <property name="driverClassName">
    <value>org.gjt.mm.mysql.Driver</value>
    </property>
    <property name="username">
    <value>root</value>
    </property>
    <property name="password">
    <value>123</value>
    </property>
    </bean>

    <bean id="mysqlFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="mysqlDS"/>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>test.hbm.xml</value>
    </list>
    </property>
    </bean>

    <bean id="sqlserverDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="url">
    <value>jdbc:odbc:test</value>
    </property>
    <property name="driverClassName">
    <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
    </property>
    <property name="username">
    <value>root</value>
    </property>
    <property name="password">
    <value>123</value>
    </property>
    </bean>

    <bean id="sqlserverFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="sqlserverDS"/>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>test.hbm.xml</value>
    </list>
    </property>
    </bean>
    .......
    </beans>

    以上只是配置Hibernate访问多个数据库的一般方法,hibernate还有很多可行的配置,有兴趣的读者可以参考它的reference

    关于作者:

    杨晓,北京工商大学计算机硕士,曾在NEC-SISoftbrain 担任java开发工作。

    博客:http://blog.sina.com.cn/u/1237288325

    MSN: South-Titan@hotmail.com

    展开全文
  • 异地分布式数据库如需要进行同步操作,则表的主键不能简单使用AI自增长的ID值
  • 必须用云函数操作 基本结构是db.collection( '集合名' ).where({ 条件1 }...// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command exports...
  • 使用Kettle批量同步数据库

    千次阅读 2018-08-14 12:27:16
    (鉴于Kettle工具对数据库连接的插件支持不是太好,最好是在源库与目标库类型相同的情况下使用,如:都是Oracle或都是Mysql等,当然不同的数据库也是可以的) 直接点:下载源代码 下载详细设计文档 数据同步方式 暂...
  • 从 mybloglog得知,到我blog的,大多相中的是这一篇《数据库入口和密码:维普、万方和cnki》,可惜多数都失效了。为了不让读者失望,我整理了一下互联网上讨论这方面的网站论坛,希望有所帮助。 这类论坛,很精华...
  • 用 SSH 连接两个数据库

    千次阅读 2015-10-28 14:49:13
    spring2+struts2+hibernate3实现连接两个数据库
  • 1)set oracle_sid=test(数据库实例名)  sqlplus SYS/liuyuxin AS SYSDBA 2) sqlplus SYS/liuyuxin@test AS SYDBA   2,在isql plus ,sql plus ,都有相应的连接标志符,不同的数据库对应不同的sid,即不同的...
  • 系统环境如下: 操作系统:Windows10家庭版 x64...文章目录【写在前面】前言一、数据库设计初期二、数据库开发时期三、数据库测试时期1.V1版本完善时期2.引入去中心化分发式保存数据库的概念3.去中心化分发式保存示例4.
  • Hbase数据库

    千次阅读 2019-04-10 20:25:00
    HBase是一分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储...
  • hibernate连接操作两个数据库

    万次阅读 2011-11-04 14:02:00
    一、(在src下)写两Hibernate.cfg.xml文件:  hbn-mysql.cfg.xml和hbn-sqlserver.cfg.xml ...三、使用session时哪个sessionFactory打开的session就能访问哪个数据库。 详细步骤:-----------
  • Vue + Spring Boot 项目实战(四):数据库的引入

    万次阅读 多人点赞 2019-04-14 12:20:35
    在项目中引入数据库,实现通过数据库验证用户名与密码。
  • 数据库

    千次阅读 2019-02-23 17:44:47
    1. 云数据库概述 1.1. 云计算是云数据库兴起的基础 1.2. 云数据库概念 云数据库是部署和虚拟化在云计算环境中...云数据库具有高可扩展性、高可用性、采用租形式和支持资源有效分发等特点。 1.3. 云数据库的特性 ...
  • 原则 不破坏原有逻辑,并且让用户基于之前的经验可以快速上手 接入端协议的选择 1.编程语言接口(jdbc) 2.数据库协议(数据库本身的协议,不同的数据库有不同的协议,而且有的公开,有的还不公开) 数据库...
  • 最近帮朋友使用Qt开发了一毕业设计,题目要求实现繁简切换。对UI的元素进行国际化,大致牵扯到以下几部分。 UI元素:如按钮、各种控件。 代码中的字符串:比如一些弹出消息等。 数据库内容:包括字段名、字段值...
  • 而随着工作年限的增加,在数据库方面积累的经验也逐渐增多,越来越觉得数据库管理员(DBA)是一偏实践的工种,很理论上的东西在现实中会有各种的变化,比如“反范式”设计等。因此,如果想成为数据库方面
  • 今天在写一微信小程序demo,用的是云开发,是一实验室预约的一流程。...但是貌似度娘以及小程序云开发社区对于这个多表联查的具体使用几乎没有,API文档其实对于新手而言难度还是比较大的,也很难找到...
  • 一、基础环境 (1)操作系统:CentOS 7.3 (2)MongoDB:4.0.9 链接:... 二、节点角色规划 先来看一张图 ...从图中可以看到有四组件:mongos、config server、shard、replica set。...mongos,数据库集群请求的入...
  • 数据库必备

    千次阅读 2016-03-09 16:30:19
    ① 一个数据库只有一模式;  ② 是数据库数据在逻辑级上的视图;  ③ 数据库模式以某一种数据模型为基础;  ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取
  • 数据库到底哪家强?

    千次阅读 2017-08-23 10:25:06
    目前大部分开源数据库都是基于SQLite发展而来,如SQLBrite、OrmLite、DBFlow、GreenDao等等,还有一是Realm框架不是基于 SQLite 创建,它建立了自己独特的数据库存储引擎。那这么框架到底有什么区别,那种更适合...
  • 数据库性能优化详解

    万次阅读 多人点赞 2017-02-03 17:38:06
    1.数据库访问优化法则 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制
  • 软考数据库

    千次阅读 2018-05-14 22:41:02
    SQL中 名称 功能 union 并集(带有去重功能), union all 并集(不去重功能), EXCEPT (差集) ...为表创建聚簇索引,是对数据库的内模式进行修改 ... 数据库中的数据与现实...
  • Mysql+Mycat实现数据库主从同步与读写分离文章转载自:http://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&amp;mid=2247485333&amp;idx=1&amp;sn=71a60b1deb210100623b6fe120ab867b&amp;chksm=e91b...
  • 数据库学习:高并发数据库设计

    千次阅读 2017-11-30 10:45:27
    支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库...
  • 数据库建表原则

    万次阅读 2015-09-08 16:33:19
    在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例〗:一份员工...
  • 公共数据库介绍~联合国数据库UNDATA

    千次阅读 2017-06-09 11:07:29
    公共数据库-联合国数据库UNDATA   联合国数据库提供免费数据检索和下载服务。其数据总量为6000万条。涵盖了农业、犯罪、教育、就业、能源等方方面面。   网址:http://data.un.org 数据库的使用都是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,321
精华内容 55,328
关键字:

多个入口同个数据库