zoukankan      html  css  js  c++  java
  • ctrip 开源 DAL 框架相关问题总结

    ctrip 开源 DAL 框架 :https://github.com/ctripcorp/dal

    1、分库情况下的新增、查询

    如果配置分库、分表则新增、查询时必须满足以下条件之一,否则会抛出: DalException - Can not locate shard for testdb

    • 新增或查询的实体中包含用于分库或分表的字段
    • 使用 DalHints.setShardValue 来指定用于分库分表的值,使用这个值来计算 shardIndex

    demo 代码:

        @Test
        public void testQueryByPk1() throws Exception {
            TestTable testTable = new TestTable();
            // 查询条件包含用于分库的字段:title
            testTable.setTitle("testA");
            testTable.setAuthor("frank");
            // 或使用以下 DalHints 指定用于分库的 shardValue
            //DalHints dalHints = new DalHints().setShardValue("testA");
            //Collection<TestTable> list = dao.queryBy(testTable,dalHints);
            Collection<TestTable> list = dao.queryBy(testTable);
            assertTrue(list != null && !list.isEmpty());
        }

     2、dal.xml 说明

    <dal name="Dal.config">
        <databaseSets>
            <!--
                name - 逻辑数据库的名字
                provider - 逻辑数据库提供者是哪种类型的数据库,目前支持 mysql 和 sqlserver
                shardingStrategy - 指定分片的策略
             -->
            <databaseSet name="testdb" shardingStrategy="class=com.example.demo.dbshard.DbShardStrategy;columns=title;mod=2;" provider="mySqlProvider">
                <!--
                 name - 物理数据库的代号
                  databaseType - Master / Slave
                  sharding - 数据库分片 id
                  connectionString - 物理数据库的 id,用于在 datasource.xml 里面查找
                -->
                <add name="test_db_01" databaseType="Master" sharding="0" connectionString="test_db"/>
                <add name="test_db_02" databaseType="Master" sharding="1" connectionString="test_db_01"/>
            </databaseSet>
        </databaseSets>
    </dal>
  • 相关阅读:
    svn提交时强制添加注释 (转)
    通过IIS调试ASP.NET项目
    当前标识(IIS APPPOOLDefaultWebSite)没有对“C:WindowsMicrosoft.NETFramework64v2.0.50727Temporary ASP.NET Files“的写访问权限
    (转)WPF控件开源资源
    redhat7系统安装kerberos报错
    centos7
    spark-sql与Hive元数据共享
    hive-llap配置
    spark-二次排序
    kylin3.1基于ambari2.7.5部署总结
  • 原文地址:https://www.cnblogs.com/frankyou/p/14527999.html
Copyright © 2011-2022 走看看