计划

  • 学习springboot
  • 学习mybatis
  • 看crapapi的代码

执行

09点41分 学习springboot,

11点16分 用户注册持久层

13点33分 springmvc的学习

英语角

If I want to chage a mobile phone brand, then I choose the Meizu brand.

Because Meizu is the earliest smartphone brand in China, although it has always been called Zhuhai Small Factory, it was even acquired by Geely some time ago, but this does not affect my liking for it at all.

Because it has always had it own innovation and style, it has been learned by other manufacturers.

After two years, its new Meizu 20 will be released soon, which has attracted the attention of the whole network and is extremely hot.

知识记录

springboot项目

环境搭建

  • 数据库连接池:DBCP、C3P0、Hikari

springmvc项目

SSM框架项目

  • javase
  • javaweb(java零基础)
  • mysql
  • html
  • css
  • js
  • jquery
  • ajax
  • servlet
  • jsp
  • 框架(springmvc教程,王鹤)
  • spring
  • springmvc
  • mybatis
  • maven
  • jdk动态代理

CRM项目——阶段简介

  • 分析设计、编码、测试

技术架构

  • 代码要分层
  • 视图层(vivew):展示数据,和用户交互。html(仅展示),css(修饰),js(交互)。这些是基础的,虽然能实现功能,但是比较繁琐,效率低,因此引入框架技术,对他们进行封装。前台的框架有:jQuery(对js的封装,有选择器,调用元素数据,使用相应的选择器,标签选择器,类选择器)、bootstrap(对三门技术进行封装的框架,类似的几个ext|easyUI)、jsp(严格来讲属于后端,运行结果是网业)
  • 控制层(controller):控制业务处理流程(接受请求,接收参数,封装参数,根据不同请求调用业务层处理相应的业务,根据处理结果,返回响应信息)。servlet(太老了,一个请求一个servlet,太慢了,淘汰了)、springmvc(控制层框架,对servlet进行封装;依赖注入,中央控制器接受某一规则的请求,根据url调不同的controller,整合的好,容器)、类似的struts1、struts2、webwork
  • 业务层(service):处理业务逻辑,处理业务的步骤,操作的原子性。(1、添加学生,2、记录操作日志)Javase(调不同的方法)、工作流(仅对很复杂的业务,需要层层审批,政府中。activiti|JBPM)
  • 持久层(Dao/Mapper):操作数据库。(jdbc,复杂,已被淘汰)mybatis(封装了jdbc)、类似( hibernate也是封装jdbc,以前是ssh。将表和类进行一一对应,只需要操作类就行,但是不灵活,效率低,无法操作优化sql语句)、ibatis
  • 整合层不同层调另一个个层就是controller new services,要new很多很多。new一个对象,谁用谁调,叫单例模式。保证单例模式,做工厂类,一个类一个services做一个工厂类,然后调的时候提供这个工厂类,以前就有大量的工厂类。spring,层和层之间并不是孤立存在的,互相有依赖调用关系。工厂类,单例模式。维护类的资源(IOC一个容器,生产各种对象,单例模式),维护数据库资源(AOP)。类似ejb(功能强大,不灵活)。spring全家桶,小巧灵活,有好多框架,即查即用,springboot

阶段教学目的

技术要用,永远学不会,要综合运用。对前期所学技术的回顾,熟练,加深和扩展

互联网基础课:Linux,redis,git

软件开发声明周期

回去看

CRM核心业务介绍

回去看

物理模型搭建

数据库的表和界面原型是由项目经理提供的,

  • 登陆界面有一个用户表
  • 每一个下拉页面的数据有一个表,数据字典值表存下拉页表数据,tb_dic_value
  • 有很多下拉页表时,单独有一个表存储这些下拉页表类型的,tb_dic_type
  • tb_acticity 市场活动表
  • 市场活动备注表 tb_activity_remark
  • tb_clue 线索表
  • tb_clue_remark 线索备注表
  • tb_customer 客户表
  • tb_customer_remark 客户备注表
  • 联系人表,交易表
  • 表中重要的字段(满足范式)
  • 主键字段:为什么设计,类型,长度。一组字段唯一确定一条记录,推荐使用一个字段做主键,推荐使用没有业务含义的字段,自己设计一个字段id。主键字段的类型和长度,由主键值的生成方式决定:
  • 生成方式:自增(借助数据库自身主键生成机制,数值型,长度有数据量决定,多个会发生冲突,加锁雄效率低)、assighed(程序员自己生成主键值,必须唯一非空,不好写。算法:hi/low,生成数值型,长度由数据量决定。用的最多的算法,UUID,生成字符串的主键值,32位)、共享主键、联合主键
  • 外键字段:

搭建开发环境

  • idea有项目和工程的概念,一个项目可以有多个工程
  • 创建好了项目new project——>创建工程new model
  • 补全目录结构
  • 添加依赖,看用什么技术

首页功能的分析与设计

首页功能实现controller层

首页功能实现页面层