标签:
1.持久层开发(Mybatis)
1.1 添加,非空字段必须给值,不是非空加判断,有值添加无值不添
1.2 删除,注意外键关系的级联删除。(事务传播行为)
1.3 更新,每个字段单独更新,只更新变化的值。
1.4 查询,多表查询首先确定主查询表,分析与辅助查询表的关系来确定使用内/外链接
1.4.1 外键关系:内连接
select a.*,b.* from tb_a a, tb_b b where a.id = b.id
select a.*,b.* from tb_a a
join tb_b b
on a.id = b.id
1.4.2 普通的关联关系:外连接
select a.*,b.* from tb_a a
left join tb_b b
on a.id = b.id
1.4.3 使用子查询,开启Mybatis二级查询缓存。
1.5 命名规范:体现某一数据库操作。 addXxx() DeleteXxx() UpdateXxx() SelectList() getXxx()
方便事务控制
1.6 要利用好Mybatis 的输出映射,完成查询的所有的字段,省去了业务层手动多重循环遍历。
如果使用BaseDao<T> ,Mybatis输出映射首选使用ResultType,同名映射,注意如果字段有别名是按别名映射
1.7 Mybatis 配置中字符串比较 <if flag ==‘true‘.tostring()> </if>
1.8 穷举类型定义:
public static final int IS_DEL_Y = 1;
public static final int IS_DEL_N = 0;
1.9 日期属性使用注解固定格式(为Mybatis表单数据绑定提供支持)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date create_time;
2.业务层开发(Spring Bean 管理)
2.1 注入依赖,不能注入其他数据表Dao,只能本身Dao或者其他service,减少耦合。
2.2 命名规范:能体现某一业务逻辑。login()、save() 、reply()
2.3 aop
3.表现层开发(SpringMVC)
3.1 SpringMVC 绑定表单数据,数据类型、name属性出错,会报错,http 400,查错注意看日志
3.2 Freemarker 绑定字段要设置默认值${(refer.time?string("yyyy-MM-dd HH:mm:ss"))!‘‘},数字为0,字符串为‘‘,类型不能出错
3.3 命名规范:方法名与处理器一致,体现某一业务逻辑。
3.4 编辑、删除绑定id,更新页面隐藏id
4.其他
4.1 分析数据表:对待多字段数据表,找主键,注意意非空字段,外键关系。
4.2 字符串比较a.equals(b)方法,处理空指针异常。
4.3 HTML 标签中的id 要放在 name 属性的前面
第一个spring、springmvc、mybatis、freemarker项目小知识(一)
标签:
原文地址:http://www.cnblogs.com/zenglong/p/ssm_freemarker_1.html