½«sql²éѯ³öÀ´µÄÊý¾Ýת»¯Îª¶ÔÏó
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import xml.dao.admin.AdminArea;
public class NativeSQLQuery extends HibernateDaoSupport {
/**
* ½«Êý¾Ý¿â²éѯ³öµÄÊý¾Ýת»¯ÎªAdminArea
* @param queryString ²éѯadmin_area±íÊý¾ÝµÄsqlÓï¾ä
* @param pojoClass
* @param jdbcTemplate
* @return
*/
public List<? extends AdminArea> findObjectBySql(String queryString,
Class<? extends AdminArea> pojoClass, JdbcTemplate jdbcTemplate) {
Session session = this.getSession();
/**
* ʹÓÃSQL¹¹Ôì²éѯ¶ÔÏ󣬴ËSQLÊÇ¿ÉÒÔ±»JDBC½ÓÊܵÄSQL£¬ÈçSELECT * from XXX_TABLE
*/
Query query = session.createSQLQuery(queryString);
/**
* ÉèÖýá¹û¼¯×ª»»Æ÷
*/
query.setResultTransformer(new SqlColumnToBean(pojoClass));
List list = query.list();
/**
* ¹Ø±Õsession
*/
session.close();
/**
* ·µ»Ø²éѯ½á¹û
*/
return list;
}
}
import java.lang.reflect.Field;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.property.ChainedPropertyAccessor;
import org.hibernate.property.PropertyAccessor;
import org.hibernate.property.PropertyAccessorFactory;
import org.hibernate.property.Setter;
import org.hibernate.transform.ResultTransformer;
import xml.dao.admin.AdminArea;
public class SqlColumnToBean implements ResultTransformer {
private static final long serialVersionUID = 1L;
private final Class<? extends AdminArea> resultClass;
private Setter[] setters;
private PropertyAccessor propertyAccessor;
&
Ïà¹ØÎĵµ£º
1. SQLÐÐתÁдúÂë
-
-
±íÀïÃæÓÐÕâôһ×éÊý¾Ý:
code price
'MCU0-3' 15
'MCU0-3' 20
'MCU0-3' 22
'MCU ......
Êý¾Ý¿âÖеÄËùÓÐÊý¾Ý´æ´¢ÔÚ±íÖС£Êý¾Ý±í°üÀ¨ÐкÍÁС£Áоö¶¨Á˱íÖÐÊý¾ÝµÄÀàÐÍ¡£Ðаüº¬ÁËʵ¼ÊµÄÊý¾Ý¡£
ÀýÈ磬Êý¾Ý¿âpubsÖеıíauthorsÓоŸö×ֶΡ£ÆäÖеÄÒ»¸ö×Ö¶ÎÃûΪΪau_lname£¬Õâ¸ö×ֶα»ÓÃÀ´´æ´¢×÷ÕßµÄÃû×ÖÐÅÏ¢¡£Ã¿´ÎÏòÕâ¸ö±íÖÐÌí¼ÓÐÂ×÷Õßʱ£¬×÷ÕßÃû×־ͱ»Ìí¼Óµ½Õâ¸ö×ֶΣ¬²úÉúÒ»ÌõмǼ¡£
ͨ¹ý¶¨Òå×ֶ䪎 ......
¼¸¸ö¼òµ¥µÄ»ù±¾µÄsqlÓï¾ä
Ñ¡Ôñ£ºselect * from table1 where ·¶Î§
²åÈ룺insert into table1(field1,field2) values(value1,value2)
ɾ³ý£ºdelete from table1 where ·¶Î§
¸üУºupdate table1 set field1=value1 where ·¶Î§
²éÕÒ£ºselect * from table1 where field1 like ’%value1%’
ÅÅÐò£ ......
ÔÚOracle SQLÖÐÈ¡Êý¾ÝʱÓÐʱҪÓõ½in ºÍ exists ÄÇôËûÃÇÓÐÊ²Ã´Çø±ðÄØ£¿
1 ÐÔÄÜÉϵıȽÏ
±ÈÈçSelect * from T1 where x in ( select y from T2 )
Ö´ÐеĹý³ÌÏ൱ÓÚ:
select *
from t1, ( select distinct y from t2 ) t2
where t1.x = t2.y;
숦﵀
select * from t1 where exists ( select null fro ......