然后在工程目录下WEB-INF/lib目录下添加
servlet-api.jar和standard.jar
4.Abandoned connection cleanup thread] but has failed to stop it. This is very
likely to create a memo
每次启动tomcat,没有关闭就启动,tomcat报内存泄露。解决就是关闭Eclipse,重启电脑。之后每次启动tomcat都是关闭后再启动。
5.使用MySQL数据库。root作为连接名,连接一段时间后出现连接被拒绝的情况
默认root用户不支持远程控制,在mysql控制台更改了root权限,仍然不起作用。最后使用了 navicat(mysql 可视化工具)创建了一个新用户,重新配置连接。
6.数据库表a,前台向a表写入一条数据,立即查询,发现没有表a没有更新。而查看数据库服务器中的表a,数据已经更新。但在myeclipse中重新连接数据库后。再查询时,数据得到更新。
查询方法是使用hibernate自动生成的dao
public List findByProperty(String propertyName, Object value) {
log.debug("finding Product instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Product as model where model."
+ propertyName + "= ?";
Query queryObject = getsession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
问题就是出现在session上。
hibernate框架操作数据库是通过org.hibernate.Session来实现的。而Session是由org.hibernate.SessionFactory来管理的。
Configuration conf=new Configuration().configure();//需要每次重新创建配置连接
org.hibernate.SessionFactory sessionFactory=conf.buildSessionFactory();
Session session=sessionFactory.openSession();
而自动生成的dao文件中getsession()方法中只有
public class BaseHibernateDAO implements IBaseHibernateDAO {
public Session getSession() {
return HibernateSessionFactory.getSession();
}
}