6.2 基本SQL服务标签
1. selectSet标签
示例:
<selectSet id="getUserList" dsKey="ds" txRef="tx_01">
select * from user
</selectSet>
说明
上面示例表示我们定义了一个ID为getUserList的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条查询语句,返回结果为一个查询结果集,默认的数据结构为List<XCO>
.
Schema设计图
selectSet节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
resultKey | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
resultType | 返回类型,7. 数据映射 | N | 用户定义 |
resultMap | 数据映射,7. 数据映射 | N | 用户定义 |
fetchSize | 每次查询的最大获取条数,默认255 | N | 用户定义 |
cacheUse | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |
2. selectOne标签
示例:
<selectOne id="getUser" dsKey="ds" txRef="tx_01">
select * from user where id = #{id}
</selectOne>
说明
上面示例表示我们定义了一个ID为getUser的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条查询语句,返回结果为一条数据库行记录,默认的数据结构为XCO
.
Schema设计图
selectOne节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
resultKey | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
resultType | 返回类型,7. 数据映射 | N | 用户定义 |
resultMap | 数据映射,7. 数据映射 | N | 用户定义 |
fetchSize | 每次查询的最大获取条数,默认255 | N | 用户定义 |
cacheUse | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |
3. selectVar标签
示例:
<selectVar id="getName" dsKey="ds" txRef="tx_01">
select name from user where id = #{id}
</selectVar>
说明
上面示例表示我们定义了一个ID为getName的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条查询语句,返回结果为name字段,返回结果的数据类型视字段的数据库数据类型而定。上述例子中name在数据库中的数据类型为VARCHAR(32)
,因此对应的Java类型为String
。
Schema设计图
selectVar节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
resultKey | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
cacheUse | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |
4. update标签
示例:
<update id="updateName" dsKey="ds" txRef="tx_02">
update user set name = '张三' where id = #{id}
</update>
说明
上面示例表示我们定义了一个ID为updateName的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条更新语句,返回结果为其影响行数。
Schema设计图
update节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
rowCount | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
cacheClear | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |
5. delete标签
示例:
<delete id="deleteUser" dsKey="ds" txRef="tx_02">
delete from user where where id = #{id}
</delete>
说明
上面示例表示我们定义了一个ID为deleteUser的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条删除语句,返回结果为其影响行数。
Schema设计图
delete节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
rowCount | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
cacheClear | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |
6. insert标签
示例:
<insert id="insertUser" dsKey="ds" txRef="tx_02">
insert into user(name, age) values('李四', 26);
</insert>
说明
上面示例表示我们定义了一个ID为insertUser的基本服务,服务使用ds所代表的数据源,使用tx_01所定义的事务,执行一条插入语句,返回结果可以是操作的影响行数,也可以是插入操作后数据库返回的自增主键,具体情况参照insert标签resultType
属性的设置。
Schema设计图
insert节点属性说明
属性名 | 用途及说明 | 必填 | 取值 |
---|---|---|---|
id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 |
dsKey | 所使用的数据源标识,如果用户没有则使用之前设置的默认数据源。 | N | 用户定义 |
txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 | N | 用户定义 |
resultType | 返回类型:这里只做标识使用,如果用户未设置此项,则返回影响行数,如果用户设置此项,无论任何内容,则返回插入后的主键(数据库自动生成的)。建议如果需要返回主键,则使用固定的内容标识,如ID。<br />关于返回主键,有以下几种情况:<br />1.插入一条记录,返回单个主键,其结果类型视主键的数据库数据类型而定。<br />2.插入多条记录,返回多个主键数组,数组元素类型视主键的数据库数据类型而定。<br /> | N | 用户定义 |
rowCount | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
incrementKey | 作为辅助标签时候使用,后续说明 | N | 用户定义 |
cacheClear | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 |