项目接口的设计思想

以注册为例(使用maven来依赖管理,springboot项目)

https://www.jianshu.com/p/d59411918b6d

总结
  • 一般来说,若需要多次创建实例,可以使用工厂模式
  • 密码存入数据库中需要加密,通常使用Md5Utils(Md5是不可逆的;为了不轻易使其破解,可以再加一个"盐String salt",进行混合加密(多加密几次),越复杂越好)进行加密
  • 项目接口的设计思想
    1. 从Controller层写到Dao层(从上往下),一般先写需求/设计逻辑,写完一个类再写另一个类中的代码实现
    2. 设计路线:
      ① 需求分析
      ② 逻辑设计
      ③ 代码实现
      ④ 代码调试
    3. 一般来说,客户端传输的数据,Controller层进行接收的时候,使用自定义类封装数据(XxxParam类);springboot中controller层的注解为@RestController
    4. 通用的代码可以抽取出来,封装在工具类
    5. 使用逆向工程可以生成对应数据库中对应表的pojo类、mapper类和mapper.xml文件(一般是一个个生成的,项目中不建议批量生成;由于项目是多人协同完成的)
      数据库中的表一般都有id、creat_time、update_time这三个字段,可以将这三个字段封装在一个类中,该类需要实现序列化Serializable(便于json数据的转换),并且给与一个序列化Id;id字段需要注解(注明是主键,以及自动增长;这样,在生成动态sql语句的时候,自动增长就不用插入(id为Integer类型时)),生成的pojo类再去继承该类即可
    6. 由于插入语句的字段有可能发生改变,若写死sql语句,不便于后期的维护;因此,让mapper.java继承通用mapper,可以使用通用mapper中的插入方法dong
    7. 在resources包中定义一个mybatis_config.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!-- 全局的设置信息-->
    <settings>
        <!-- 配置用生成的主键值 -->
        <setting name="useGeneratedKeys" value="true"/>
        <!-- 启用缓存 -->
        <setting name="cacheEnabled" value="true"/>
        <!-- 启用延迟加载功能 -->
        <setting name="lazyLoadingEnabled" value="true"/>
        <!-- 按需要延迟加载-->
        <setting name="aggressiveLazyLoading" value="false"/>
        <!-- 开启驼峰命名(方便自动映射) -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!-- 打印查询语句,开发时开启,等项目上线是关闭-->
        <setting name="logImpl" value="STDOUT_LOGGING" />
        <!-- 开启sql语句字段为null值也封装回来 -->
        <setting name="callSettersOnNulls" value="true"/>
    </settings>
    
</configuration>

其中,开启驼峰命名;可以自动将表中的create_time转为类中的createTime,这样,就不需要在该成员变量上加上注解@Column(name="create_time")
当然了,封装表中数据的类上需要加入注解@Table(name="表名"),指定是哪张表

通用mapper官网 https://mapperhelper.github.io/docs/

数据校验
标准校验(非空、长度)
业务校验(根据业务需求而定)

账号用于判断用户数据唯一的标识,相当于数据库的ID字段

为了减少并发压力,一般sql语句尽可能一条搞定;而客户端需要什么数据,服务器再进行拆除去获取

不是用户操作的数据,而是服务器进行操作的;返回友好提示的时候不要返回提示信息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,226评论 6 524
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,509评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,523评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,181评论 1 302
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,189评论 6 401
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,642评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,993评论 3 431
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,977评论 0 280
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,527评论 1 326
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,547评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,661评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,250评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,991评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,422评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,571评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,241评论 3 382
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,737评论 2 366

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,120评论 1 32
  • 一步一步的搭建JAVA WEB项目,采用Maven构建,基于MYBatis+Spring+Spring MVC+B...
    叶子的翅膀阅读 12,682评论 5 25
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,541评论 0 4
  • IDEA创建maven项目 使用IDEA创建maven项目,勾选从模板原型构建,这里选择maven-archety...
    Java耕耘者阅读 2,795评论 0 0
  • 原来爱情真的伤不起,体会着狂野热烈的感觉,最后也掩不住分离的落寞忧伤。 我曾经遇见了温柔的你,留...
    冥裎阅读 451评论 1 19