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项目小知识(一)的更多相关文章

  1. 挖个坑,写一个Spring+SpringMVC+Mybatis的项目

    想挖个坑督促自己练技术,有时候想到一个项目,大概想了一些要实现的功能,怎么实现.现在觉得自己差不多能完成QQ空间的主要功能了.准备立个牌坊,写一个类似功能的网站.并且把进度放到这里来. 初步计划实现以 ...

  2. spring springmvc mybatis maven 项目整合示例-导航页面

    spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...

  3. Maven搭建Spring+SpringMVC+Mybatis+Shiro项目详解

    一. 环境搭建: 1. 开发工具:myeclipse 2014 / IDEA: 2. maven管理版本:apache-maven-3.0+: 3. jdk 1.7.0+4. Tomcat8.0 二: ...

  4. IntelliJ IDEA 创建Spring+SpringMVC+mybatis+maven项目

    参考自:https://www.cnblogs.com/hackyo/p/6646051.html 第一步: 创建maven项目 输入项目名和工程id 选择maven 默认就可以了 刚开始时间比较长, ...

  5. spring+springMVC+mybatis , 项目启动遇坑

    github上找的框架组合例子 结合自己的数据库作为新项目开发. 但是项目启动时,tomcat启动失败: 检查不出错误. 于是改换maven引入jetty插件来启动项目, 结果在未改动的任何代码的情况 ...

  6. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(三)

    Spring+SpringMVC MVC呢,现在似乎越来越流行使用SpringMVC框架,我自己用的感觉,是非常好,确实很舒服,配置一开始是麻烦了一点点,但是后续的开发真的是很清爽! SpringMV ...

  7. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  8. 你要的SSM(Spring+Springmvc+Mybatis)小项目来了!!!

    SSM-Maven-Heima 这是一个使用 SSM(Spring+Springmvc+Mybatis)框架的商城小项目,使用Maven构建项目,以MySQL为数据库系统,Redis的缓存服务器(并不 ...

  9. 用 eclipse 创建一个简单的 meaven spring springMvc mybatis 项目

    下面是整体步骤: 1: 先创建一个Maven 项目: 选择跳过骨架: 因为要搭建的是 web 项目  所以这个地方选择 war 包; 点击完成 这样就完成 Maven项目的搭建: 接下俩 先把 Mav ...

随机推荐

  1. SpringMVC + mybatis + Druid insert 数据库中文乱码,查询无乱码

    之前一直在pom文件配置的数据库连接url,很多配置都写在pom文件中导致配置文件太长 新项目将配置写到不同的文件夹中得properties文件中了 db.url直接复制的pom文件中的 p.p1 { ...

  2. 初试WIX加SQL LocalDB

    最近有个项目需要生成一个自动打包安装App和数据库的MSI文件,经同事推荐WIX,于是乎就试了一试.遇到了一些问题觉得有分享的价值,所以写篇博客记录一下 :) 使用感觉: WIX特点:功能很强大,用X ...

  3. Hibernate 系列 07 - Hibernate中Java对象的三种状态

    引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...

  4. Java 消息摘要 散列 MD5 SHA

    package xxx.common.util; import java.math.BigInteger; import java.security.MessageDigest; import jav ...

  5. WPF 自定义的窗口拖动

    WPF原有的窗口样式太丑,当我们重新定义窗口时,则需要添加一些额外的功能,如拖动~ 1.在界面上对布局元素如Grid,添加委托事件: MouseLeftButtonDown="UIEleme ...

  6. UICollectionLayout布局 —— UIKit之学习UICollectionView记录二《流水布局》

    重点知识 一. 加载collectionView注意事项 1.创建collectionView,有两种方式 :一种是xib和一种是纯代码:设置代理和数据源,注册cell,配置流水布局的属性,如上.下. ...

  7. Jquery学习笔记 --ajax删除用户,使用了js原生ajax

    主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: 1 <!DOCTYPE html> 2 <html lang= ...

  8. 【原创】Chrome最新版(53-55)再次爆出BUG!

    前言 今年十月份,我曾发布一篇文章<Chrome53 最新版惊现无厘头卡死 BUG!>,不过那个BUG在最新的 Chrome 54 中已经修正. 而今天即将发布的Chrome弱智BUG: ...

  9. .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

    在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...

  10. telent对端口检测状态分析

    telnet基于TCP/IP协议通信的,把远程的shell反弹回本地! yum install -y telnet apt-get  install telnet ###端口被封,有墙堵住 [root ...