Introduction
This sample simply connect to a mysql server and execute a script which is located in the jar package and insert values into created database tables and retrieve data from values inserted from through the programdemonstrates how to expose some data stored in a database created via WSO2 storage server.
Prerequisites
- Java Development Kit / JRE version 1.6.* or 1.7.*
- Apache Ant 1.7.0 or later
Building the sample
Introduction
This sample simply connect to a mysql server and execute a script which is located in the jar package and insert values into created database tables and retrieve data from values inserted from through the program.
Prerequisites
- Java Development Kit / JRE version 1.6.* or 1.7.*
- Apache Ant 1.7.0 or later
...
Creating a data service
- Create a Database, a privilege template and a database user using WSO2SS and attach the created user to the database,
Use WSO2 Developer Studio and create a data service using the following values.
Field | Example | Description |
---|
Driver Class | com.mysql.jdbc.Driver | This is the driver class of the database created via WSO2 SS. |
JDBC URL | jdbc:mysql://localhost:3306/wso2DB_wso2_com | This is the url received from WSO2 SS after successful creation of a database. |
User Name | user1_aJLNWWiS | The user name of a user created in WSO2 SS, and attached to the database created. |
Password | user1 | The password of the above user created in WSO2 SS, and attached to the database created. |
The sample data service descriptor would be as follows.
Code Block |
---|
|
<data enableBoxcarring="true" name="RDBMSSample" serviceNamespace="http://ws.wso2.org/dataservice/samples/rdbms_sample">
<config id="default">
// add the database driver of the relevant db instance created.
<property name="org.wso2.ws.dataservice.driver">com.mysql.jdbc.Driver</property>
//add the database url recieved from Storage server.
<property name="org.wso2.ws.dataservice.protocol">jdbc:mysql://localhost:3306/devdb1<wso2DB_wso2_com</property>
//add a user to connecto to the database, which is already attached to the afore mentioned database via Storage Server.
<property name="org.wso2.ws.dataservice.user">devuser1<>user1_aJLNWWiS</property>
//use the aforementioned users password.
<property name="org.wso2.ws.dataservice.password">devuser1<>user1</property>
<property name="org.wso2.ws.dataservice.minpoolsize">1</property>
<property name="org.wso2.ws.dataservice.maxpoolsize">10</property>
<property name="org.wso2.ws.dataservice.autocommit">false</property>
<property name="org.wso2.ws.dataservice.validation_query"/>
</config>
//The sample Query.
<query id="customersInBostonSQL" useConfig="default">
<sql>select * from Customers where city = 'Boston' and country = 'USA'</sql>
<result element="customers" rowName="customer">
<element column="customerName" name="customer-name" xsdType="string"/>
<element column="contactLastName" name="contact-last-name" xsdType="string"/>
<element column="contactFirstName" name="contact-first-name" xsdType="string"/>
<element column="phone" name="phone" xsdType="string"/>
<element column="city" name="city" xsdType="string"/>
<element column="country" name="country" xsdType="string"/>
</result>
</query>
//The sample dataservice.
<operation name="customersInBoston">
<call-query href="customersInBostonSQL"/>
</operation>
</data> |
Code Block |
---|
|
mvn clean assembly:assembly -o |
Executing the sample
Code Block |
---|
|
java -jar -Djdbcurl=jdbc:mysql://localhost:3306/rssdb -Ddriver=com.mysql.jdbc.Driver -Dusername=root -Dpassword=root target/rss-simple-sql-sample-1.0-jar-with-dependencies.jar |
- you can create a datasource
Code Block |
---|
|
<data enableBoxcarring="true" name="RDBMSSample" serviceNamespace="http://ws.wso2.org/dataservice/samples/rdbms_sample">
<config id="default">
<property name="org.wso2.ws.dataservice.driver">com.mysql.jdbc.Driver</property>
<property name="org.wso2.ws.dataservice.protocol">jdbc:mysql://localhost:3306/devdb1</property>
<property name="org.wso2.ws.dataservice.user">devuser1</property>
<property name="org.wso2.ws.dataservice.password">devuser1</property>
<property name="org.wso2.ws.dataservice.minpoolsize">1</property>
<property name="org.wso2.ws.dataservice.maxpoolsize">10</property>
<property name="org.wso2.ws.dataservice.autocommit">false</property>
<property name="org.wso2.ws.dataservice.validation_query"/>
</config>
<query id="customersInBostonSQL" useConfig="default">
<sql>select * from Customers where city = 'Boston' and country = 'USA'</sql>
<result element="customers" rowName="customer">
<element column="customerName" name="customer-name" xsdType="string"/>
<element column="contactLastName" name="contact-last-name" xsdType="string"/>
<element column="contactFirstName" name="contact-first-name" xsdType="string"/>
<element column="phone" name="phone" xsdType="string"/>
<element column="city" name="city" xsdType="string"/>
<element column="country" name="country" xsdType="string"/>
</result>
</query>
<operation name="customersInBoston">
<call-query href="customersInBostonSQL"/>
</operation>
</data> |
Code Block |
---|
|
mvn clean assembly:assembly -o |
Executing the sample
...
...
Executing the sample
- Group the created data service with a Carbon Application Project and create the Carbon Application Archive [CAR] and deploy in to the WSO2 Data Services Server.