ebean多数据源配置

ebean为java操作数据库ORM框架中,比较轻量级的一款,使用其可以快速对mysql等数据库记录进行增删改查,配置很少,尤其适合小型项目开发和研测工具的开发。在做一些偏融合的项目中,可能会有操作多个数据库的需求,使用ebean可以很方便的做到,具体方法如下。

  1. 配置文件,application.properties
    如下方配置,配合了三个mysql数据库数据源,默认为标识为"db"的数据源

    ebean.default=com.yeetrack.devops.ebeandemo.Entity.db.*
    # the name of the default server
    datasource.default=db
    
    datasource.db.username=user_xxx1
    datasource.db.password=pass_xxx1
    datasource.db.databaseUrl=jdbc:mysql://x.x.x.x:3306/db_1?rewriteBatchedStatements=true
    datasource.db.databaseDriver=com.mysql.cj.jdbc.Driver
    
    datasource.road.username=user_xxx2
    datasource.road.password=pass_xxx2
    datasource.road.databaseUrl=jdbc:mysql://x.x.x.x:3306/db_2?rewriteBatchedStatements=true
    datasource.road.databaseDriver=com.mysql.cj.jdbc.Driver
    
    datasource.data.username=user_xxx3
    datasource.data.password=pass_xxx3
    datasource.data.databaseUrl=jdbc:mysql://x.x.x.x:3306/db_3?rewriteBatchedStatements=true
    datasource.data.databaseDriver=com.mysql.cj.jdbc.Driver
  2. 初始化数据源并使用
    如下代码,默认的“DB”数据源直接使用即可,ebean会自动加载;其他两个数据源“road”、“data”需要手动初始化后再使用。

    public class EbeanServer {
        public static Database ROAD_DB_SERVER;
        public static Database DATA_DB_SERVER;
    
        static {
            ROAD_DB_SERVER = DatabaseFactory.create("road");
            DATA_DB_SERVER = DatabaseFactory.create("data");
        }
    
        public static void main(String[] args) {
            ROAD_DB_SERVER.find(RoadBugEntity.class).findList();
            DATA_DB_SERVER.find(BugDataEntity.class).findList();
            DB.find(BugEntity.class).findList();
        }
    }
  3. 数据库实体类

    @Entity
    @DbName("road")
    @Table(name = "XXX_table")
    public class RoadBugEntity {
        @Id
        int id;
    
        @Column(name = "code")
        String code;
    
        @Column(name = "task_id")
        String taskId;
        ....
    }

备注:当前项目使用jdk11,ebean 13.17.0

版权声明

本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。

© 空空博客,本文链接:https://www.yeetrack.com/?p=1489