net.paoding.rose.jade.annotation
注释类型 SQL


@Target(value=METHOD)
@Retention(value=RUNTIME)
@Documented
public @interface SQL

SQL注解标注在Jade DAO方法上,表示这个DAO方法所要执行的SQL语句。

Jade把SQL语句分为查询类型和更改类型,Jade进行SQL类型分类的基于两个目的:

简单地,Jade认为所有以SELECT开始在SQL是查询类型的,其他的都是更新类型的。不过当然这种分法非常不合理, 比如SHOW语句所代表的就应该是查询类型的,在这种情况下,我们还是希望由开发者您在SQL 指定吧,如果有需要执行一些非SELECT的查询类型的语句的话。

在写SQL时可把SQL参数值直接放到SQL中,如下:
@SQL("SELECT id, account, name FROM user WHERE id='12345'")

也可由DAO方法的命名参数指定,因此支持了动态参数,即以冒号开始并紧跟一个名字字符串表示,如下:
@SQL("SELECT id, account, name FROM user WHERE id=:userId")
public User getUser(@SQLParam("userId") String id);

OR
@SQL("SELECT id, account, name FROM user where id=:user.id")
public User getUser(@SQLParam("user") User user);

在此,我们也示例了SQL注解所使用语句和标准的SQL的有所区别。为了更加有效地支持编程,此处的SQL具有较为丰富的法,具体请见: http://paoding-rose.googlecode.com/....

作者:
王志亮 [qieqie.wang@gmail.com], 廖涵 [in355hz@gmail.com]

必需元素摘要
 String value
           
 
可选元素摘要
 SQLType type
          返回该语句的类型,查询类型或变更类型。
 

元素详细信息

value

public abstract String value
返回:
Jade支持的SQL语句

type

public abstract SQLType type
返回该语句的类型,查询类型或变更类型。 默认Jade认为只有以SELECT开始的才是查询类型,其他的为变更类型。开发者通过这个属性用来变更Jade默认的处理!

返回:
查询类型
默认值:
net.paoding.rose.jade.annotation.SQLType.AUTO_DETECT


Copyright © 2012. All Rights Reserved.