spring+hibernateÔÚMYSQLϵÄһЩÎÊÌâ
½ñÌìÔÚ°ïÅóÓѵ÷ÊÔÒ»¸ö¹ØÓÚ¶àÏ̷߳ÃÎÊͬһÕűíÒýÆðµÄLock wait timeout exceedeµÄÎÊÌ⣬¸Ð¾õÒýÆðµÄÔÒòÓУº
1£¬Ã»ÓнøÐÐÓÅ»¯£¬¾¡Á¿±ÜÃâ¶àÏß³Ì
2£¬¸ù¾ÝËüºóÃæ±¨µÄÒì³££¬ÌáÐÑÎÒ¿ÉÒÔHibernate µÄSessionûÓÐʹÓõõ±£¬(Ò²ÊÇÎÒ½â¾öµÄ·½°¸)
3£¬ÓÃsynchronizedÐÞÊθüбíµÄº¯Êý
¹À¼ÆÊÇÔÀ´³ÌÐòÔÚÐÞ¸ÄÍê¸Ã±íʱÁ¢¿Ì½øÐÐÁ˲åÈë²Ù×÷µ¼Öµģ¬
ËùÒÔÎÒÔÚ¸üкó½øÐÐgetHibernateTemplate().flush();
×îºó£¬ÔÚ²åÈë²Ù×÷£¨save())ʱ£¬Ô±¾ËûÊÇÓÖ´´½¨ÁËÒ»¸öеÄDAO£¬ÔÙ½«¼Ç¼²åÈëµ½Êý¾Ý¿âÖУ¬¶øÒòΪÊÇͬһ¸öDAO£¬ÎÒ½«Æäɾµô£¬Ö±½Óµ÷ÓÃsave()£¬Õâ¸öÎÊÌâÒ²¾Í½â¾öÁË£¡
µ÷ÊÔ֮ǰ£º
public boolean createCurrentSL(Users u){
try {
String queryString = "update Appendlist set isCurrent=? where isCurrent='1' and uid=?";
Object[] objs=new Object[2];
objs[0]=false;
objs[1]=u.getUid();
getHibernateTemplate().bulkUpdate(queryString,objs);
ApplicationContext factory=new ClassPathXmlApplicationContext("applicationContext.xml");
IAppendlistDAO alDAO=(IAppendlistDAO)factory.getBean(IAppendlistDAO.BEAN_NAME);
Calendar cal=Calendar.getInstance();
if(cal.get(Calendar.MONTH)!=Calendar.DECEMBER)
cal.set(Calendar.MONTH, Calendar.MONTH+1);
else
cal.set(Calendar.MONTH, Calendar.JANUARY);
int max=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
for(int i=1;i<=max;i++){
Appendlist al=new Appendlist();
al.setUsers(u);
al.setMonthday(i);
al.setIsCurrent(true);
al.setAlDemo("ABSENT");
alDAO.save(al);
}
return true;
} catch (RuntimeException re) {
System.out.println("createCurrentSL failed");
re.printStackTrace();
return false;
}
}
µ÷ÊÔÖ®ºó£º
public boolean createCurrentSL(Users u){
try {
String queryString = "update Appendlist set isCurrent=? where isCurrent='1' and uid=?";
Object[] objs=new Object[2];
objs[0]=false;
objs[1]=u.getUid();
getHibernateTemplate().bulkUpdate(queryString,objs);
getHibernateTemplate().flush();
Calendar cal=Calendar.getInstance();
if(cal.get(Calendar.MONTH
Ïà¹ØÎĵµ£º
×òÌìÉè¼ÆÊý¾Ý¿â±íµÄʱºò£¬ÒòΪʹÓÃvarchar²úÉúÁËÒìÒ飬½á¹ûÒ»²é·¢ÏÖÎÒÃÇÁ½¸ö˶¼Ã»´í¡£
MySQLÊý¾Ý¿âµÄvarcharÀàÐÍÔÚ4.1ÒÔϵİ汾ÖеÄ×î´ó³¤¶ÈÏÞÖÆÎª255£¬ÆäÊý¾Ý·¶Î§¿ÉÒÔÊÇ0~255»ò1~255£¨¸ù¾Ý²»Í¬°æ±¾Êý¾Ý¿âÀ´
¶¨£©¡£
ÔÚMySQL5.0ÒÔÉϵİ汾ÖУ¬varcharÊý¾ÝÀàÐ͵ij¤¶ÈÖ§³Öµ½ÁË65535£¬Ò ......
ÏÂÔØmysql-4.1.14-win32.zip½âѹºóµÃµ½mysql-4.1.14-win32Îļþ¼Ð£¬´ò¿ª´ËÎļþ¼ÐÔËÐÐsetup.exeÎļþ£¬Next£¬Custom¡¢Next£¬Change£¬½«Â·¾¶¸ÄΪd:\MySQL\MySQL Server 4.1\£¬OK£¬Next£¬Install£¬Íê³ÉºóÌø³ö´°¿ÚÈçͼ£º
µãÒ»ÏÂCancel£¬ÔÙÖ±µãFinish¡£ÏÖÔÚÌø³öÉèÖÃmysqlµÄ´°¿Ú£¬Èçͼ£º
Next£¬Next£¬Next£¬next£¬Next£¬Èç ......
MySQLµÄÊý¾Ý±íÀàÐͺܶ࣬MySQLÒ»¹²ÏòÓû§ÌṩÁ˰üÀ¨DBD¡¢HEAP¡¢ISAM¡¢MERGE¡¢MyIAS¡¢InnoDBÒÔ¼°GemeniÕâ7ÖÖ±í¡£ÆäÖÐDBD¡¢InnoDBÊôÓÚÊÂÎñ°²È«Àà±í£¬¶øÆäËûÊôÓÚÊÂÎñ·Ç°²È«Àà±í¡£
DBD
Berkeley DB(DBD)±íÊÇÖ§³ÖÊÂÎñ´¦ÀíµÄ±í£¬ÓÉSleepycatÈí¼þ¹«Ë¾¿ª·¢¡£ËüÌṩMySQLÓû§ÆÚ´ýÒѾõŦÄÜ--ÊÂÎñ¿ØÖÆ¡£ÊÂÎñ¿ØÖÆÔÚÈκÎÊý¾Ý¿âϵͳÖÐ ......
×î½üÊÕµ½·´À¡£¬ºÜ¶à¿Í»§Á¬MySql¶¼ÎÞ·¨ÕýÈ·°²×°¡£ÊÕµ½ÈÎÎñ£¬Òª½«MySql´òµ½²úÆ·ÖУ¬ºÍ²úÆ·Ò»Æð°²×°ºÍÐ¶ÔØ£¬À¿ª¼Ü
ʽ¸É°É£¬Ã»·¨×Ó¡£
Ñо¿Ò»Õ󣬷¢ÏÖ½«°²×°ºÃµÄMySqlÎļþ¼ÐCopyµ½ÆäËüµçÄÔÉÏ£¬ÔÙ½â¾öºÃÁ½¸öÎÊÌâÓ¦¸Ã¾Í¿ÉÒԺͰ²×°°æÒ»ÑùÕý³£Ê¹Óá£
1.Copyµ½ÁËÆäËüµçÄÔÉϵIJ»Í¬Ä¿Â¼£¬Ó¦¸ ......
mysql procedure ûÓÐreturn²ÎÊý ¿ÉÒÔoutÒ»¸ö±äÁ¿¸ø¿Í»§¶Ë µ«ÊÇout²ÎÊýÓÖ²»Ö§³ÖÓαêÀàÐÍ£¬ÈçºÎÄÜout³öÒ»¸ö½á¹û¼¯ÄØ£¿
·½·¨ºÜ¼òµ¥ ¾ÍÊÇÔÚprocedureÀïÖ´ÐÐÒ»¸öselect £¨select .... from ...£©
eg.
CREATE PROCEDURE `CREATE_ACCOUNT`(
ACCOUNT CHAR(32),
PASSWORD CHAR(32), ......