Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Concepts/Sql Service"

(Minimal configuration)
(Replaced content with "The Scout documentation has been moved to https://eclipsescout.github.io/.")
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{ScoutPage|cat=Server}}
+
The Scout documentation has been moved to https://eclipsescout.github.io/.
 
+
The SqlService provides access to a database.
+
 
+
* implements {{ScoutJavadoc|ISqlService|I}}
+
* extends {{ScoutJavadoc|AbstractSqlService|C}}
+
 
+
==Description==
+
{{Note|TODO|Add a description}}
+
 
+
==Minimal configuration==
+
To be able to connect to a database, these properties needs to be configured:
+
* {{ScoutProp|JdbcDriverName}} the qualified name of the JDBC driver.
+
* {{ScoutProp|JdbcMappingName}} the JDBC path <code>"jdbc:..."</code>.
+
* {{ScoutProp|Username}} the user name to connect to the database.
+
* {{ScoutProp|Password}} the password to connect to the database.
+
* {{ScoutProp|SqlStyle}} provides the class of the {{ScoutLink|Concepts|SqlStyle|Sql Style}} that should be used.
+
 
+
 
+
 
+
===Delegation of the configuration to config.ini===
+
If the Property {{ScoutProp|JdbcMappingName}} is set (using the {{ScoutLink|SDK|Object Properties View}}), the Java code looks like this:
+
 
+
<source lang="java">
+
package myapp.server.services.common.sql;
+
 
+
import org.eclipse.scout.rt.services.common.jdbc.AbstractSqlService;
+
import org.eclipse.scout.service.IService;
+
 
+
public class MySqlService extends AbstractSqlService implements IService {
+
  @Override
+
  protected String getConfiguredJdbcMappingName() {
+
    return "jdbc:derby:C:/MyDB";
+
  }
+
  // + other configurations...
+
}
+
</source>
+
 
+
The path to the database is hard coded in the code. You might want to delegate this configuration to the <code>config.ini</code> to have more flexibility (e.g one path for development and one path for production). Because the {{ScoutJavadoc|AbstractSqlService|C}} also provides a setter for this property <code>setJdbcMappingName(String)</code>, it is possible to set the property with the <code>config.ini</code> file:
+
 
+
<qualified name of the class>#<setter name without set prefix>=<value>
+
 
+
This pattern works in Eclipse Scout for all classes extending the {{ScoutJavadoc|AbstractService|C}}
+
 
+
For this example:
+
 
+
  myapp.server.services.common.sql.MySqlService#JdbcMappingName=jdbc:derby:C:/MyDB
+
 
+
==SQL convenience class==
+
Scout proposes a convenience singleton class to access the default SqlService: {{ScoutJavadoc|SQL|C}}
+
 
+
Here a simple example:
+
<source lang="java">
+
    SQL.update(
+
        " update      actor " +
+
        " set        first_name = :firstName," +
+
        "            last_name = :lastName " +
+
        " where      actor_id = :id ",
+
        formData
+
        );
+
</source>
+
 
+
== See also ==
+
* {{ScoutLink|Concepts|SqlStyle|Sql Style}}
+
* {{ScoutLink|Concepts|Server Plug-In|Server Plug-In}}
+
* {{ScoutLink|HowTo|Write_a_jdbc_connection_bundle|How To write a JDBC connection bundle}}
+

Latest revision as of 05:26, 14 March 2024

The Scout documentation has been moved to https://eclipsescout.github.io/.

Back to the top