整理自己搜集的学生javaweb作业系统。【侵权请联系作者】
畅想:后期慢慢统一各个系统,依据不同需求,而进行定制化处理。
1.停车场系统。
代码提取地址: https://pan.baidu.com/s/1s3LVtwRzRaC1xCqMB-GRhg 提取码:ex6j
扩展:目前扩展了自动处理sql脚本【注意这时对应的serverlet不能懒加载】,处理main.jsp记录展示当前用户相关信息,使用echarts代替了flash插件
2.商场库存管理系统
代码提取路径:https://pan.baidu.com/s/166CJN920M6E3MawaYPjaVQ 提取码:izia
说明:项目利用了status2、hibernate、jsp技术, 以及使用 bootstap进行前端布局;
我关注点:Hibernate缓存包括两大类:一级缓存和二级缓存
Hibernate一级缓存又被称为“Session的缓存”。Session缓存是内置的,不能被卸载,是事务范围的缓存,在一级缓存中,持久化类的每个实例都具有唯一的OID。
Hibernate二级缓存又称为“SessionFactory的缓存”,由于SessionFactory对象的生命周期和应用程序的整个过程对应,因此Hibernate二级缓存是进程范围或者集群范围的缓存,有可能出现并发问题,因此需要采用适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别,第二级缓存是可选的,是一个可配置的插件,默认下SessionFactory不会启用这个插件。
public class Hibernate {
private static Configuration config = new Configuration().configure();
//Hibernate二级缓存又称为“SessionFactory的缓存”
private static SessionFactory session_factory = config.buildSessionFactory();
//Hibernate一级缓存又被称为“Session的缓存”
public static Session session = session_factory.openSession();
public static Transaction t;
public static void close() {
session_factory.close();
}
}
Test
//事务开始标记
Hibernate.t = Hibernate.session.beginTransaction();
User user1 = (User) Hibernate.session.get(User.class, user.getUser_id());
//事务提交
Hibernate.t.commit();