关于表结构的设计
1.建议表明与字段名均为小写,若多个单词使用下划线分割。
2.建议每张表都有唯一的主键字段,且字段名都为id,可使用自增主键。
3.数据类型尽可能统一,不要出现太多的数据类型。
关于log4j的使用
log4j.rootLogger=ERROR,console,file
上面的配置表示将日志级别设置为ERROR,并且提供两种日志appender,分别为console与file, 需要对这两种日志分别配置
log4j.logger.org.smart4j=DEBUG
指定只有org.smart4j包下的类才能输出DEBUG级别的日志
关于ThreadLocal的使用
当在一个类中使用了static成员变量的时候, 一定要多问问自己, 这个static成员变量需要考虑线程安全吗? 也就是说多个线程需要独享自己的成员变量吗? 如果需要考虑, 不妨使用ThreadLocal
数据库事务
如何获取数据库的默认事务隔离级别?
DatabaseMetaData meta = DBUtil.getDataSource().getConnection().getMetaData();
int defaultIsolation = meta.getDefaultTransactionIsolation();
数据库是如何隔离事务的?
用的是锁这个东西, 当插入数据时就锁表; 当更新数据时, 就锁定行
TIPS
1.在maven项目中main/java, main/resources, test/java, test/resources这四个目录都是classpath的根目录
2.Controller中, 在普通请求下可返回jsp页面; 在ajax请求下, 需要返回json数据