Newer
Older
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Dbxref">
<typeAlias alias="ChadoFeatureDbxref"
type="uk.ac.sanger.artemis.chado.ChadoFeatureDbxref"/>
<typeAlias alias="ChadoDbxref"
type="uk.ac.sanger.artemis.chado.ChadoDbxref"/>
<typeAlias alias="ChadoDb"
type="uk.ac.sanger.artemis.chado.ChadoDb"/>
<resultMap id="select-feature-dbxref"
class="ChadoFeatureDbxref">
<result property="feature_id" column="feature_id"/>
<result property="dbxref.db.name" column="name"/>
<result property="dbxref.accession" column="accession"/>
<result property="dbxref.version" column="version"/>
</resultMap>
<select id="getDbxref" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature"
resultMap="select-feature-dbxref">
SELECT db.name, dbx.accession, dbx.version, dbx_f.feature_id
LEFT JOIN dbxref dbx ON dbx.dbxref_id=dbx_f.dbxref_id
LEFT JOIN db ON db.db_id=dbx.db_id
<isNotNull property="uniquename">
WHERE f.uniquename=#uniquename#
</isNotNull>
resultClass="java.lang.Integer">
SELECT db_id FROM db WHERE name=#name#
</select>
resultClass="java.lang.Integer">
SELECT dbxref_id FROM dbxref WHERE accession=#accession#
<delete id="deleteFeatureDbxref" parameterClass="ChadoFeatureDbxref">
(SELECT dbxref_id FROM dbxref WHERE accession=#dbxref.accession#
AND db_id=(SELECT db_id FROM db WHERE name=#dbxref.db.name#))
<insert id="insertFeatureDbxref" parameterClass="ChadoFeatureDbxref">
(feature_id, dbxref_id, is_current)
VALUES
($feature_id$, $dbxref_id$, $current$)
</insert>
INSERT INTO dbxref ( db_id, accession )
VALUES ($db_id$, #accession#)
</insert>