易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

Mysql 常用函数


 
Mysql 常用函数
ASCII(str) 
 返回字符串str的第一个字符的ASCII值(str是空串时返回0) 
mysql> select ASCII('2'); 
  -> 50 
mysql> select ASCII(2); 
  -> 50 
mysql> select ASCII('dete'); 
  - ......

Mysql的安装

  下载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打交道,对产品的数据存储有了比较全面的掌握。并促使和执行了db的表结构和属性的检查。合服投放后,暂未发现因错误数据导致的bug或事故。
并在测试初期就关注和检测性能指标,促使程序做了一次性能测试;对投放时的风险增强了预防和控制。 ......

mysql alter 语句用法,添加、修改、删除字段等


 源地址: http://www.pcppc.cn/shujuku/mysql/shujuku_163919.html
 
 
您正在看的MySQL教程是:MySQL数据库学习笔记。
  MySQL数据库学习笔记 
(实验环境:Redhat9.0,MySQL3.23.54) 
纲要: 
一,连接MySQL 
二,MySQL管理与授权 
三,数据库简单操作 
四, ......

phpmyadmin连接多个MySQL数据库


在phpmyadmin的根目录下建立config.inc.php
写入如下代码:
<?php
//phpmyadmin 配置文件
//本地MySQL数据库
$i=1;
$cfg['Servers'][$i]['host']          =
'localhost';
$cfg['Servers'][$i]['user']          ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号