java·ºÐÍT.classµÄ»ñÈ¡
ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖÆ³éÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0];
µ«ÊÇÕâ¸öÏà¶Ô×ÓÀà²Å»áÓÐÓ㬶øÇÒÄÇÆªÎÄÕµÄHibernateBaseDao»¹²»ÊÇabstract£¬Èç¹ûÒ»²»Ð¡ÐÄʵÀý»¯µÄ»°¾Í»á±¨Òì³£¡£¸Ð¾õjavaÖÐͨ¹ý·´ÉäÈ¡·ºÐ͵Äclass»¹ÊÇͦ¸´Ôӵ쬲»¹ýÒ»µ©È¡µ½µÄ»°¾Í¿ÉÒÔ×öºÜ¶àÊÂÇéÁË¡£
¸Ä½øµÄÀý×ӺͲâÊÔ£º
1.Ïȶ¨Òå½Ó¿Ú£¨ÕâÀïдµÄ±È½Ï¼òµ¥¾ÍÒ»¸ö·½·¨£¬¾ßÌå¿ÉÒÔÔÙÔö¼Ó£©
public interface BaseDao<T> {
T get(String id);
}
2.¶¨Òå³éÏóÀàʵÏÖ½Ó¿Ú
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public abstract class HibernateBaseDao<T> implements BaseDao<T> {
private Class<T> entityClass;
/**
* Õâ¸öͨ³£Ò²ÊÇhibernateµÄÈ¡µÃ×ÓÀàclassµÄ·½·¨
*
* @author "yangk"
* @date 2010-4-11 ÏÂÎç01:51:28
*/
public HibernateBaseDao() {
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class) params[0];
}
@Override
public T get(String id) {
try {
return entityClass.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
×ÓÀàµÄ¹¹Ô캯Êý»áµ÷Óø¸ÀàµÄ¹¹Ô캯Êý£¬ËùÒÔµ±×ÓÀàʵÀý»¯µÄʱºò£¬¸¸ÀàµÄentityClass ÒѾµÃµ½ÁËT.class¡£
3.¶¨ÒåÒ»¸öentity
public class Entity {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.¶¨ÒåentityµÄDAO
public class EntityDao extends HibernateBaseDao<Entity> {
public void otherOperation() {
}
}
¿ÉÒÔÔÚÀïÃæ¶¨Ò常ÀàûÓеģ¬Õë¶Ô¾ßÌå×ÓÀàÌØÊâµÄ·½·¨¡£
5.²âÊÔ
import static org.junit.Assert.asser
Ïà¹ØÎĵµ£º
¡¡¡¡ÄÇôҪ³ÉΪ¼Ü¹¹Ê¦µÄ;¾¶ËƺõÖ»ÓÐÏÖÔÚ½ÏΪÁ÷ÐеÄÈí¼þѧԺºÍ¸öÈË×ÔÎÒÅàÑøÁË¡£¹ØÓÚÈí¼þѧԺÎÒ½Ó´¥¹ý²»ÉÙ£¬Æä×ÚÖ¼¾ø´ó²¿·Ö¶¼ÊÇÔì¾Í(or´òÔì)ÆóÒµ ÐèÒªµÄÈí¼þ¼Ü¹¹Ê¦(or³ÌÐòÔ±orÈ˲Å)¡£½ÌʦÀ´Ô´ÓëÆóÒµ¡¢Ñ§Ô±À´Ô´ÓëÆóÒµ¡¢È˲ÅÊäË͵½ÆóÒµÊÇËûÃǰìѧµÄÊֶΡ£¾¡¹Ü¸÷¸öÈçÓêºó´ºËñ°ã³öÏÖµÄÈí¼þѧԺ¿ÚºÅ²î ²»¶à£¬µ«¿ÖÅ´ó¶àÖ»ÊÇΪÁËȦ ......
¾³£Óõ½µç¿ÏÂÔØ×ÊÁÏ,һЩhttpÄã¸ù±¾ÕÒ²»µ½µÄ×ÊÔ´,µ±È»ËÙ¶ÈÊDz»Äܹ§Î¬ÁË,¿×Óô,¸ÉµÄ¾ÍÊÇÂý»î,ÈÈÃÅ×ÊÔ´³ýÍâ…
ÎÒÓõÄverycd°æµÄµç¿,Ô°æµç¿µÄÒ»ÖÖmods,µçÂ¿Ã²ËÆÓÐN¶à°æ±¾,²»¹ýÎÒ¾õµÃverycdµÄ¾Í¹»ÓÃÁË,±Ï¾¹¹úÄڰ˳ɵÄÈ˶¼ÔÚÓÃ.
×î½üÔÚÏÂж«·½µÄиÅÄîÓ¢Óï½Ì³Ì,½ø¶È87%,ÑÛ¿´ÒªÏÂÍêÁË,µÈÒªµÈ1¸ö¶àСʱ,ÏÂÔØÍê³ÉÓ ......
½â¾ö·½·¨Ò»:(×îÖØÒªµÄÒ»ÖÖ·½·¨)
Äã¿´ÏÂmy.ini£¬ÓÐÎÞ
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
È»ºó½¨Á¢±íʱ£¬Ò²ÒªÓ㨱ÈÈ磩
DROP TABLE IF EXISTS `Company`;
CREATE &nb ......