aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc')
-rw-r--r--documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc85
1 files changed, 0 insertions, 85 deletions
diff --git a/documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc b/documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc
deleted file mode 100644
index acecb4dc5e..0000000000
--- a/documentation/sqlcontainer/sqlcontainer-getting-started.asciidoc
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Getting Started with SQLContainer
-order: 2
-layout: page
----
-
-[[sqlcontainer.getting-started]]
-= Getting Started with SQLContainer
-
-Getting development going with the SQLContainer is easy and quite
-straight-forward. The purpose of this section is to describe how to create the
-required resources and how to fetch data from and write data to a database table
-attached to the container.
-
-[[sqlcontainer.getting-started.connection-pool]]
-== Creating a connection pool
-
-First, we need to create a connection pool to allow the SQLContainer to connect
-to a database. Here we will use the [classname]#SimpleJDBCConnectionPool#, which
-is a basic implementation of connection pooling with JDBC data sources. In the
-following code, we create a connection pool that uses the HSQLDB driver together
-with an in-memory database. The initial amount of connections is 2 and the
-maximum amount is set at 5. Note that the database driver, connection url,
-username, and password parameters will vary depending on the database you are
-using.
-
-
-----
-JDBCConnectionPool pool = new SimpleJDBCConnectionPool(
- "org.hsqldb.jdbc.JDBCDriver",
- "jdbc:hsqldb:mem:sqlcontainer", "SA", "", 2, 5);
-----
-
-
-[[sqlcontainer.getting-started.query-delegate]]
-== Creating the [classname]#TableQuery# Query Delegate
-
-After the connection pool is created, we'll need a query delegate for the
-SQLContainer. The simplest way to create one is by using the built-in
-[classname]#TableQuery# class. The [classname]#TableQuery# delegate provides
-access to a defined database table and supports reading and writing data
-out-of-the-box. The primary key(s) of the table may be anything that the
-database engine supports, and are found automatically by querying the database
-when a new [classname]#TableQuery# is instantiated. We create the
-[classname]#TableQuery# with the following statement:
-
-
-----
-TableQuery tq = new TableQuery("tablename", connectionPool);
-----
-
-In order to allow writes from several user sessions concurrently, we must set a
-version column to the [classname]#TableQuery# as well. The version column is an
-integer- or timestamp-typed column which will either be incremented or set to
-the current time on each modification of the row. [classname]#TableQuery#
-assumes that the database will take care of updating the version column; it just
-makes sure the column value is correct before updating a row. If another user
-has changed the row and the version number in the database does not match the
-version number in memory, an [classname]#OptimisticLockException# is thrown and
-you can recover by refreshing the container and allow the user to merge the
-data. The following code will set the version column:
-
-
-----
-tq.setVersionColumn("OPTLOCK");
-----
-
-
-[[sqlcontainer.getting-started.container-creation]]
-== Creating the Container
-
-Finally, we may create the container itself. This is as simple as stating:
-
-
-----
-SQLContainer container = new SQLContainer(tq);
-----
-
-After this statement, the [classname]#SQLContainer# is connected to the table
-tablename and is ready to use for example as a data source for a Vaadin
-[classname]#Table# or a Vaadin [classname]#Form#.
-
-
-
-