无线开放 API

数据库服务简介

数据库服务基于阿里云关系型数据库服务(Relational Database Service,简称RDS),为开发者提供了稳定可靠、可弹性伸缩的在线数据库服务。RDS采用即开即用方式,兼容MySQL关系型数据库,并提供数据库在线扩容、备份回滚、性能监测及分析功能。
 

下载依赖包

请参考下载依赖包

获取数据源

在获取数据源之前,首先要获取数据源别名(alias)。在TAE控制台中通过:工作站 -> 数据库 -> 实例名称获取alias,如下图示:
在本地开发时,通过修改配置文件<SDK_ROOT>/conf/custom/ace4j-private.properties来获取、修改或添加alias,如下图示:
获取alias后,可以通过四种方法获取数据源实例,示例代码如下:
Spring工厂方法获取
在Spring上下文配置文件中添加:
    <bean id="dataSource" class="com.alibaba.appengine.api.ds.DataSourceFactory" 
factory-method = "getDataSource">
            <constructor-arg value="alias" />
</bean>
Spring JNDI配置获取
在Spring上下文配置文件中添加:
    <bean id="dataSource"  class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName" value="java:comp/env/database/alias"/>
</bean>
Java JNDI调用获取
    import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
Context initCtx = new InitialContext();
DataSource  dataSource = (DataSource) initCtx.lookup("java:comp/env/database/alias");
Java传参工厂类获取
    import com.alibaba.appengine.api.ds.DataSourceFactory;
import javax.sql.DataSource;
DataSource dataSource = DataSourceFactory.getDataSource(alias);

数据库服务使用示例

本节将向读者展示如何通过TAE SDK开发并运行一个数据库服务应用。

结果演示

访问127.0.0.1:8080
点击“RDS服务多数据源演示”
可以看到,显示的结果来自四个不同的数据源。

准备工作

  • 预留大约15分钟无干扰时间。
  • 下载并安装MySQL数据库。
  • 安装配置TAE SDK并将业务类型设置为“百川无线开放”(即app.biztype=35),应用类型设置为前台(即app.apptype =0),开发语言设置为Java(即app.language =Java) 参考:点击查看
  • 将TAE SDK集成到了IDEA或Eclipse(强烈推荐使用IDEA进行TAE的本地开发和调试),参考:点击查看
  • 下载本Demo的工程源文件 点击下载

使用说明

1、新建本工程的运行配置,如图示:
2、启动本地MySQL数据库,分别创建名为test1、test2、test3、test4的四个数据库,如图示:
3、分别将工程下名为test1.sql等四个建库脚本依次导入test1等四个数据库中

4、为配置文件<SDK_ROOT>/conf/custom/ace4j-private.properties添加如下数据源配置:
database.test1.password=
database.test1.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8
database.test1.username=root
 
database.test2.password=
database.test2.url=jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF-8
database.test2.username=root
 
database.test3.password=
database.test3.url=jdbc:mysql://localhost:3306/test3?useUnicode=true&characterEncoding=UTF-8
database.test3.username=root
 
database.test4.password=
database.test4.url=jdbc:mysql://localhost:3306/test4?useUnicode=true&characterEncoding=UTF-8
database.test4.username=root
5、运行后的结果详见本文前面的“结果演示一节”。

小结

本文首先向读者介绍了四种获取数据源的方法,接着通过示例,演示了如何在一个应用中获得多个不同数据源的方法。通过本示例,相信读者可以举一反三,很好的处理线上、线下不同类型数据源的配置。