单点登录
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, "/");
}