`
清晨阳光
  • 浏览: 39527 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
文章列表
Hibernate采用的是write-behind的策略。MySQL的MyISAM类型,是不支持事务的,InnoDB类型支持事务。 现在有如下方法,假设表类型为MyIASM。 @Transaction public void someMethod(User user) {     user.setAge(28);     update(user);     flush();     xxxDao.updateCategory(user.getCategory());     throw new RuntimeException(); }   现在,执行这个方法,会发生什么事 ...
在页面的POST提交请求时,如果不做特殊处理,用户刷新一次页面,就会导致重复提交一次。   在Ajax里面,这个问题也是尤为严重的,用户只要重复点击那个按钮一次,就会重复提交一次。很多人会说,加屏蔽层或者将按钮灰 ...
用google英文搜索了一下,看了一篇NI的工程师写的软件,不是德国人写的那个。 需要先安装Lab-View的运行时,然后下载软件,并运行。我正在下载,还没试,有兴趣的人可以去试试。 他的博客地址是: http://decibel.ni.com/content/blogs/Simon/2010/06/16/world-cup-2010--filtering-the-annoying-vuvuzela-noise
应用场景如下,一个实体,需要对应N个表,这N个表的结构一致,但是后缀不同。用户登录后,取得用户的组,组名即为那张表的后缀。Hibernate做这个不容易,所以考虑采用JDBC来完成。 自己胡乱写了一个增强的JdbcDaoTemplate类,可以实现一些简单的查询,不必写sql语句。 也是靠我自己的想法来写的,有什么不妥之处,欢迎拍砖。 /** * 提供一些简单的方法供子类使用 * 其中RowMapper接口有3个现成的实现类,分别是: * 1、BeanPropertyRowMapper,提供将查询结果转换为对象,数据库列名应带下划线命名,会自动转换为骆驼命名规则的字段名 * ...
查看MySQL手册,说将sync-binlog设置为1,可以提高复制的可靠性,为了确保客户数据的高可靠性,我将此项设置为1。有一个表涉及到和外界数据的同步,每隔一个小时都有一次PreparedStatment的批量数据写入。未开启二进制日之前,一直速度很快。打开了之后,批量插入的速度下降了130倍。   郁闷了几天,终于找到原因,是设置sync-binlog=1引起的,将其关掉后,一切恢复正常。 如果程序里面有批量操作,一定不能打开sync-binlog,否则会引起性能极大下降。
用过Spring Security的朋友一定不会陌生,有个@Secured注解,可以将其加在Service层的方法上,保护某个方法的安全,确保只有授权的角色可以调用该方法。   但是,如果要对Struts2的Action方法进行保护呢?看似加注解是个不合理的需求。但是,有些情况下,例如,一个命名空间下用星号匹配有多个角色,而用精确地址匹配又导致数据太多,数据库不太好维护。在这种情况下,如果一个Action地址,确定以后不会太更换访问角色的话,可以考虑用注解来保护。   可以将命名空间下的全部地址匹配为星号。然后用注解保护该命名空间下的个别Action地址。   首先是一个注解类。 ...
在web.xml中将原先的那个监听器替换为自己写的这个就可以了,检测在线用户的只有一个表,里面只有一个id字段。如果用户不是很多,这个表可以是一个MySQL的内存表,或者Oralce的表存储修改为内存。 package com.yourcompany.service.security; import javax.servlet.http.HttpSessionEvent; import org.springframework.security.Authentication; import org.springframework.security.context.SecurityC ...
为了简化分页查询的条件参数,写了一个工具类。 前提是,页面的参数命名必须按照一定规则,这个规则是f_dataType_property以及s_sortType_property。 f_前缀代表这是一个过滤器(filter),s_前缀代表这是一个排序器(Sort)。 dataType是数据类型,可以写一个枚举来定义这些类型,sortType是排序类型,也可以写一个枚举来定义。 接下来,页面提交到类里面的时候,需要用一个类的静态方法来处理并解析提交的参数。 Map<String, String> parametersMap = org.springframework.web.u ...
有一个小需求,需要用FreeMarker直接在页面上获取当前时间,直接扩展FreeMarker的方法来实现。因为用到了Struts2,所以需要扩展Struts2的FreemarkerManager来实现。   一、写一个类继承Struts2的FreemarkerManager package com.yourcompany.freemarker; import javax.servlet.ServletContext; import org.apache.struts2.views.freemarker.FreemarkerManager; import freemark ...
项目中用到了SSH构架,但个别地方,需要调用原生的SQL语句。用Hibernate来调用原生SQL太麻烦了。 需要Connection conn = this.getHibernateTemplate().getSessionFactory().openSession(); 然后加Try,Catch,最后要在finally块中关闭掉Session,这样无疑多了很多代码。 Apache Commons DbUtils是一个轻量级的封装。我将它用在了项目中,在需要使用原生SQL语句的地方(批量操作或者很复杂的SQL语句),调用DbUtils来进行操作。 首先是Spring的配置文件: &l ...
这几天一直在看Apache和Tomcat的集群配置。配置了很久,终于成功! Apache2.x和Tomcat配置可以采用反向代理的方式(mod proxy),也可以采用JK模块,最终采用了JK模块,JK模块的效率要比反向代理高,这是Apache官方网站上说的,我没有测试过。JK配置虽然复杂,但更加灵活。 首先,下载Apache2.2.11,Tomcat6.0.20解压版,以及mod_jk-1.2.28-httpd-2.2.3.so 安装Apache服务器,将mod_jk-1.2.28-httpd-2.2.3.so重命名为mod_jk.so并拷贝到Apache安装目录下的modules文件夹 ...
Global site tag (gtag.js) - Google Analytics