Skip to content
Snippets Groups Projects
Commit b47f1590 authored by tjc's avatar tjc
Browse files

changes for lazy loading

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@4330 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 3c6f15c7
No related branches found
No related tags found
No related merge requests found
...@@ -7,6 +7,12 @@ ...@@ -7,6 +7,12 @@
<sqlMap namespace="Feature"> <sqlMap namespace="Feature">
<typeAlias alias="ChadoFeature"
type="uk.ac.sanger.artemis.chado.ChadoFeature"/>
<typeAlias alias="ChadoTransaction"
type="uk.ac.sanger.artemis.chado.ChadoTransaction"/>
<resultMap id="select-cvterm-names-result" class="uk.ac.sanger.artemis.chado.Cvterm"> <resultMap id="select-cvterm-names-result" class="uk.ac.sanger.artemis.chado.Cvterm">
<result property="id" column="cvterm_id"/> <result property="id" column="cvterm_id"/>
<result property="name" column="name"/> <result property="name" column="name"/>
...@@ -19,7 +25,7 @@ ...@@ -19,7 +25,7 @@
</parameterMap> </parameterMap>
<resultMap id="select-feature-properties-result" <resultMap id="select-feature-properties-result"
class="uk.ac.sanger.artemis.chado.ChadoFeature"> class="ChadoFeature">
<result property="timelastmodified" column="timelastmodified"/> <result property="timelastmodified" column="timelastmodified"/>
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="feature_relationship.object_id" column="object_id"/> <result property="feature_relationship.object_id" column="object_id"/>
...@@ -34,7 +40,7 @@ ...@@ -34,7 +40,7 @@
</resultMap> </resultMap>
<resultMap id="select-feature-result" <resultMap id="select-feature-result"
class="uk.ac.sanger.artemis.chado.ChadoFeature"> class="ChadoFeature">
<result property="timelastmodified" column="timelastmodified"/> <result property="timelastmodified" column="timelastmodified"/>
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="uniquename" column="uniquename"/> <result property="uniquename" column="uniquename"/>
...@@ -48,23 +54,24 @@ ...@@ -48,23 +54,24 @@
<result property="featureprop.cvterm" column="prop_type_id" select="selectCvterm" /> <result property="featureprop.cvterm" column="prop_type_id" select="selectCvterm" />
<result property="featureprop.value" column="value" /> <result property="featureprop.value" column="value" />
<result property="featureprop.rank" column="rank" /> <result property="featureprop.rank" column="rank" />
<result property="organism" column="organism_id" select="selectOrganism" />
</resultMap> </resultMap>
<resultMap id="select-feature-sequence-result" <resultMap id="select-feature-sequence-result"
class="uk.ac.sanger.artemis.chado.ChadoFeature"> class="ChadoFeature">
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="residues" column="residues"/> <result property="residues" column="residues"/>
</resultMap> </resultMap>
<resultMap id="select-feature-with-residues-result" <resultMap id="select-feature-with-residues-result"
class="uk.ac.sanger.artemis.chado.ChadoFeature"> class="ChadoFeature">
<result property="organism.abbreviation" column="abbreviation"/> <result property="organism.abbreviation" column="abbreviation"/>
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="id" column="feature_id"/> <result property="id" column="feature_id"/>
<result property="cvterm.id" column="type_id"/> <result property="cvterm.id" column="type_id"/>
</resultMap> </resultMap>
<!-- look up cvterms names and id --> <!-- look up cvterms names and id -->
<select id="selectCvterm" resultMap="select-cvterm-names-result"> <select id="selectCvterm" resultMap="select-cvterm-names-result">
SELECT cvterm_id, name SELECT cvterm_id, name
...@@ -72,15 +79,22 @@ ...@@ -72,15 +79,22 @@
WHERE cvterm_id=#value# WHERE cvterm_id=#value#
</select> </select>
<select id="selectOrganism" resultClass="uk.ac.sanger.artemis.chado.ChadoOrganism">
SELECT organism_id AS id, abbreviation, genus, species, common_name, comment
FROM organism
WHERE organism_id=#value#
</select>
<!-- get feature name --> <!-- get feature name -->
<select id="getFeatureName" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature" <select id="getFeatureName" parameterClass="ChadoFeature"
resultClass="java.lang.String"> resultClass="java.lang.String">
SELECT name SELECT name
FROM $schema$.feature WHERE feature_id=$id$ FROM $schema$.feature WHERE feature_id=$id$
</select> </select>
<!-- get feature id --> <!-- get feature id -->
<select id="getFeatureID" parameterClass="uk.ac.sanger.artemis.chado.ChadoTransaction" <select id="getFeatureID" parameterClass="ChadoTransaction"
resultClass="java.lang.Integer"> resultClass="java.lang.Integer">
SELECT feature_id FROM $schema$.feature WHERE SELECT feature_id FROM $schema$.feature WHERE
<iterate property="uniquename" conjunction="OR"> <iterate property="uniquename" conjunction="OR">
...@@ -88,7 +102,7 @@ ...@@ -88,7 +102,7 @@
</iterate> </iterate>
</select> </select>
<select id="getGffLine" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature" <select id="getGffLine" parameterClass="ChadoFeature"
resultMap="select-feature-properties-result"> resultMap="select-feature-properties-result">
SELECT SELECT
timelastmodified, timelastmodified,
...@@ -119,7 +133,7 @@ ...@@ -119,7 +133,7 @@
ORDER BY f.type_id, uniquename ORDER BY f.type_id, uniquename
</select> </select>
<select id="getSequence" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature" <select id="getSequence" parameterClass="ChadoFeature"
resultMap="select-feature-sequence-result"> resultMap="select-feature-sequence-result">
SELECT SELECT
name, name,
...@@ -158,12 +172,13 @@ ...@@ -158,12 +172,13 @@
</select> </select>
<select id="getFeature" resultMap ="select-feature-result" <select id="getFeature" resultMap ="select-feature-result"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
SELECT SELECT
#schema# AS schema, #schema# AS schema,
timelastmodified, timelastmodified,
f.feature_id AS id, f.feature_id AS id,
uniquename, uniquename,
organism_id,
name, name,
f.type_id, f.type_id,
seqlen AS length, seqlen AS length,
...@@ -193,13 +208,13 @@ ...@@ -193,13 +208,13 @@
</select> </select>
<select id="getOrganismID" resultClass="java.lang.Integer" <select id="getOrganismID" resultClass="java.lang.Integer"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
SELECT organism_id FROM $schema$.feature f WHERE SELECT organism_id FROM $schema$.feature f WHERE
f.feature_id=$featureloc.srcfeature_id$ f.feature_id=$featureloc.srcfeature_id$
</select> </select>
<select id="getTimeLastModified" resultClass="java.sql.Timestamp" <select id="getTimeLastModified" resultClass="java.sql.Timestamp"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
SELECT timelastmodified FROM $schema$.feature f WHERE SELECT timelastmodified FROM $schema$.feature f WHERE
f.uniquename=#uniquename# f.uniquename=#uniquename#
</select> </select>
...@@ -213,7 +228,7 @@ ...@@ -213,7 +228,7 @@
<!-- WRITE BACK METHODS --> <!-- WRITE BACK METHODS -->
<update id="updateAttributes" <update id="updateAttributes"
parameterClass="uk.ac.sanger.artemis.chado.ChadoTransaction"> parameterClass="ChadoTransaction">
UPDATE $schema$.$chadoTable$ UPDATE $schema$.$chadoTable$
SET SET
<iterate property="properties" conjunction=","> <iterate property="properties" conjunction=",">
...@@ -240,7 +255,7 @@ ...@@ -240,7 +255,7 @@
</update> </update>
<insert id="insertAttributes" <insert id="insertAttributes"
parameterClass="uk.ac.sanger.artemis.chado.ChadoTransaction"> parameterClass="ChadoTransaction">
INSERT INTO $schema$.$chadoTable$ INSERT INTO $schema$.$chadoTable$
( (
feature_id feature_id
...@@ -257,7 +272,7 @@ ...@@ -257,7 +272,7 @@
</insert> </insert>
<delete id="deleteAttributes" <delete id="deleteAttributes"
parameterClass="uk.ac.sanger.artemis.chado.ChadoTransaction"> parameterClass="ChadoTransaction">
DELETE FROM $schema$.$chadoTable$ DELETE FROM $schema$.$chadoTable$
WHERE WHERE
<iterate property="constraint" conjunction="AND"> <iterate property="constraint" conjunction="AND">
...@@ -268,7 +283,7 @@ ...@@ -268,7 +283,7 @@
</delete> </delete>
<insert id="insertFeature" <insert id="insertFeature"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
INSERT INTO $schema$.feature INSERT INTO $schema$.feature
( feature_id, organism_id, name, uniquename, type_id ) ( feature_id, organism_id, name, uniquename, type_id )
VALUES VALUES
...@@ -280,7 +295,7 @@ ...@@ -280,7 +295,7 @@
</insert> </insert>
<insert id="insertFeatureLoc" <insert id="insertFeatureLoc"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
INSERT INTO $schema$.featureloc INSERT INTO $schema$.featureloc
( featureloc_id, feature_id, srcfeature_id, fmin, fmax, strand, phase ) ( featureloc_id, feature_id, srcfeature_id, fmin, fmax, strand, phase )
VALUES VALUES
...@@ -294,7 +309,7 @@ ...@@ -294,7 +309,7 @@
</insert> </insert>
<delete id="deleteFeature" <delete id="deleteFeature"
parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"> parameterClass="ChadoFeature">
DELETE FROM $schema$.feature DELETE FROM $schema$.feature
WHERE uniquename=#uniquename# WHERE uniquename=#uniquename#
</delete> </delete>
......
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
# These values can be used in any property value in the file above (e.g. ${driver}) # These values can be used in any property value in the file above (e.g. ${driver})
# Using a properties file such as this is completely optional. # Using a properties file such as this is completely optional.
driver=org.postgresql.Driver jdbc.drivers=org.postgresql.Driver
url=jdbc:postgresql://localhost:2999/test chado=localhost:2996/chado
username=tjc username=lbraziliensis
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig <!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd"> "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<!-- Always ensure to use the correct XML header as above! --> <!-- Always ensure to use the correct XML header as above! -->
<sqlMapConfig> <sqlMapConfig>
<!-- The properties (name=value) in the file specified here can be used placeholders in this config <!-- The properties (name=value) in the file specified here can be used placeholders in this config
file (e.g. ${driver}. The file is usually relative to the classpath and is optional. --> file (e.g. ${driver}. The file is usually relative to the classpath and is optional. -->
<!--
<!--
<properties resource="artemis_sqlmap/chado_iBatis_config.properties" /> <properties resource="artemis_sqlmap/chado_iBatis_config.properties" />
--> -->
<!-- These settings control SqlMap configuration details, primarily to do with transaction <!-- These settings control SqlMap configuration details, primarily to do with transaction
management. They are all optional (see the Developer Guide for more). --> management. They are all optional (see the Developer Guide for more). -->
<settings
<settings cacheModelsEnabled="true"
cacheModelsEnabled="true" enhancementEnabled="true"
enhancementEnabled="true" lazyLoadingEnabled="true"
lazyLoadingEnabled="true" maxRequests="128"
maxRequests="32" maxSessions="10"
maxSessions="10" maxTransactions="5"
maxTransactions="5" useStatementNamespaces="false"
useStatementNamespaces="false"
/> />
<!-- Type aliases allow you to use a shorter name for long fully qualified class names. --> <!-- Type aliases allow you to use a shorter name for long fully qualified class names. -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment