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>
  • 相关阅读:
    SharePoint远程发布Solution
    SharePoint Web Part Error – The Specified Solution Was Not Found
    Visual Studio 2013启用AnkSVN
    Using LINQ to SharePoint
    SharePoint配置搜索服务和指定搜索范围
    SharePoint 站点集和子站点数据互相读取
    SharePoint Backup
    Bootstrap滚动监听
    探索 SharePoint 2013 Search功能
    C#利用iComparable接口实现List排序
  • 原文地址:https://www.cnblogs.com/frankyou/p/14527999.html
Copyright © 2011-2022 走看看