Ò»¸öʵÏÖÁ˺ÍÊý¾Ý¿â´ò½»µÀµÄÔ´Îļþ£¨×é×°sqlÓï¾ä°æ£©
package com.itcast.service.base;
import java.util.LinkedHashMap;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.itcast.util.QueryResult;
/**
* Õë¶ÔËùÓÐʵÌåbeanµÄÒ»¸ö³éÏóÀ࣬ËùÓеÄʵÌåbean°üÀ¨ProductType,ProductµÈµÈ
* @author lucky
*
*/
@Transactional
public abstract class DaoSupport implements DAO {
@PersistenceContext protected EntityManager em;
//µ÷ÓÃÏÂÃæµÄpublic <T> void delete(Class<T> entityClass,Object[] entityids·½·¨
public <T> void delete(Class<T> entityClass,Object entityid) {
delete(entityClass,new Object[]{entityid});
}
public <T> void delete(Class<T> entityClass,Object[] entityids) {
for(Object id:entityids){
em.remove(em.getReference(entityClass, id));
}
}
@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)//˵Ã÷ÔÚÖ´Ðи÷½·¨µÄʱºò²»ÐèÒª½øÐÐÊÂÎñ´¦Àí
public <T> T find(Class<T> entityClass, Object entityid) {
return em.find(entityClass, entityid);
}
/**
* ¿ÉÒÔ×Ô¶¯¹ÜÀïÖ÷¼üidµÄÉú³É£¬µ«Ç°ÌáÊÇidÊÇ×Ô¶¯Éú³ÉµÄ
* ÈôidÊÇuuidµÄ»°£¬jpa¾Í²»Ö§³Ö×Ô¶¯¹ÜÀíÖ𽥵ŦÄÜ£¬×ÓÀà¾Í±ØÐëÖØÐ´¸Ã·½·¨£¬ÊÖ¶¯Ìí¼ÓÖ÷¼ü
*/
public void save(Object entity) {
em.persist(entity);
}
public void update(Object entity) {
em.merge(entity);
}
@SuppressWarnings("unchecked")
@Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED)
/**
* ²éѯµÄÖÕ¼«×îÇ¿°æ£¬¼È¿ÉÒÔ·ÖÒ³£¬ÓÖ¿ÉÒÔ°´Ðò²éѯ£¬»¹¿ÉÒÔÓвéѯÌõ¼þ£¬ÆäËûµÄ²éѯ¶¼Ê¹ÓÃÕâ¸ö²éѯ·½·¨
* orderby Óï¾ä¸ñʽ£ºorder by key1 asc
Ïà¹ØÎĵµ£º
ÊìϤSQL SERVER 2000µÄÊý¾Ý¿â¹ÜÀíÔ±¶¼ÖªµÀ£¬ÆäDTS¿ÉÒÔ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬Æäʵ£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃTransact-SQLÓï¾ä½øÐе¼Èëµ¼³ö²Ù×÷¡£ÔÚTransact-SQLÓï¾äÖУ¬ÎÒÃÇÖ÷ҪʹÓÃOpenDataSourceº¯Êý¡¢OPENROWSET º¯Êý£¬¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬Çë²Î¿¼SQLÁª»ú°ïÖú¡£ÀûÓÃÏÂÊö·½·¨£¬¿ÉÒÔÊ®·ÖÈÝÒ×µØÊµÏÖSQL SERVER¡¢ACCESS¡¢EXCELÊý¾Ýת»»£ ......
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. Ö´ÐÐsqlÓï¾ä
int sqlite3_exec(sqlite3*£¬ const char *sql£¬ sqlite3_callbacksql Óï·¨
£¬ void *£¬ char **errmsg );
Õâ¾ÍÊÇÖ´ÐÐÒ»Ìõ sql Óï¾äµÄº¯Êý¡£
µÚ1¸ö²ÎÊý²»ÔÙ˵ÁË£¬ÊÇÇ°Ãæopenº¯ÊýµÃµ½µÄÖ¸Õ롣˵ÁËÊǹؼüÊý¾Ý½á¹¹¡£
µÚ2¸ö²ÎÊýconst char ......
¼ò½é
¡¡¡¡±¾ÎĽ²ÊöMS SQL ServerºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ£¬ÒÔ¼°OracleÈçºÎ¶ÔÊÂÎñ´¦ÀíµÄʵÏÖ¡£
¡¡¡¡Ê²Ã´ÊÇÊÂÎñ
¡¡¡¡Êý¾Ý¿âÊÂÎñ(Database Transaction)ÊÇÒ»×éÊý¾Ý¿â²Ù×÷µÄ´¦Àíµ¥Ôª¡£ÊÂÎñ·ûºÏACIDµÄÌØÐÔ£º
¡¡¡¡Atomic:Ô×ÓÐÔ£¬ÒªÃ´È«²¿ÒªÃ´Ò»ÎÞËùÓС£All or None.
¡¡¡¡Consisten ......
ÎÊÌâ
ÈçºÎ´´½¨Ò»¸öT-SQL²âÊÔÌ×¼þÓÃÓÚ²âÊÔSQL´æ´¢¹ý³Ì¡£
Éè¼Æ
Ê×ÎÞ£¬Í¨¹ý²åÈë´óÁ¿²âÊÔÆ½Ì¨Êý¾Ý×¼±¸ºÃÒ»¸ö°üº¬´ý²â´æ´¢¹ý³ÌµÄµ×²ãÊý¾Ý¿â¡£½ÓÏÂÀ´£¬Ê¹ÓÃÒ»¸öSQLÓαê(cursor)±éÀúÕâ¸ö²âÊÔÓÃÀýÊý¾Ý±í¡£Õë¶Ôÿ¸ö²âÊÔÓÃÀý£¬µ÷Óôý²â´æ´¢¹ý³Ì²¢ÇÒÈ¡µÃËüµÄ·µ»ØÖµ£ ......