单点登录

 1 可以使用一些现有开源的SSO服务器

 2 在多个项目间使用统一的加解密,在项目之间传递ticket,然后在过滤器中判断,通过则将相关值保存至session

 

读写分离

 最好是使用aop编程吧,在spring中配置一下,再简单写点代码就OK了

 

大数据量的处理注意点

 1 需要在写之前读的,可以先全部读出来,然后再一次写入,不要读写读写的重复循环

 2 都说用基于jdbc的PreparedStatement和Batch来实现一次N条数据的插入,但使用时发现确实需要将session和batch的缓存及参数定时清理才会好些

 

   Connection conn=session.connection();

   conn.setAutoCommit(false);
   PreparedStatement ps1=conn.prepareStatement(sql);
   
   for(IpAddress2 ipObj:modelList){
    ps1.setString(4, bb);
    ps1.setString(5, dd);    
    ps1.addBatch();
    if(i%5000==0){
     ps1.executeBatch();
     conn.commit();
     ps1.clearBatch();
    }
   }
   ps1.executeBatch();
   conn.commit();
   conn.close();

 

加解密
不能够将“=”一并作为内容加密,否则会出现乱码

 

Hibernate
findByExample: 
1.不支持主键 
2.不支持关联 
3.不支持NULL 

 

不同环境取路径

与系统有关的默认名称分隔符。
windows系统上 此字段被初始化为包含系统属性 file.separator 值的第一个字符。
在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。
获取路径eg.
URL is = clazz.getClassLoader().getResource(clazz.getName());
String path = is.getFile();
path = StringUtils.replace(path, "%20", " ");  
if(“\\".equals(File.separator)){
 path = StringUtils.removeStart(path, "/");
}