一、安装开发工具,配置开发环境

    • 开发语言:java JDK8以上
    • 开发工具:idea 、sts 二选一
    • 安装插件:git commit template / checkstyle(使用谷歌的规范即:googleStyle)
    • 开发环境:maven、git、springboot、springcloud

    二、从远程库拉取项目至本地开发工具,熟悉项目代码
    三、开发使用的网站

    • Tower:团队协作和项目管理 https://tower.im
    • Apizza:接口协作管理工具:https://apizza.net yapi:接口协同
    • 代码SCM和VC GitLab,Gitee,github
    • nexus:maven私服
    • verdaccio 前端私服

    四、熟悉代码生成工具

    五、根据公司的技术架构和开发规范实现对student表的CRUD

    1. 创建student表;
    2. 创建项目基本结构,引入额外需要的依赖;
    3. 根据代码生成器生成机械化的代码,配置application.properties文件,运行;
    4. 在apizza网站上测试接口并保存;
    5. 自定义crud接口并测试。

    六、JPA(Java Persistence API :Java持久层api)
    1、Entity
    实体类;与数据库表进行映射
    1)常用的注解:

    • @Entity:标注用于实体类声明语句之前,指出该Java 类为实体类,将映射到指定的数据库表。如声明一个实体类 Student,它将映射到数据库中的 Student表上。
    • @Table:当实体类与其映射的数据库表名不同名时需要使用 @Table 标注说明,该标注与 @Entity 标注并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。
    • @Id:标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 @Id标注也可置于属性的getter方法之前。
    • @Column:当实体的属性与其映射的数据库表的列不同名时需要使用@Column 标注说明,该属性通常置于实体的属性声明语句之前,还可与 @Id 标注一起使用。
    • @GeneratedValue:用于标注主键的生成策略,通过 strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer 对应 identity,MySQL 对应 auto increment。

    2)特殊的注解:

    • @Transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性
    • @Temporal:在核心的 Java API 中并没有定义 Date 类型的精度(temporal precision). 而在数据库中,表示 Date 类型的数据有 DATE,TIME,和 TIMESTAMP 三种精度(即单纯的日期,时间或者两者兼备);在进行属性映射时可使用@Temporal注解来调整精度.

    2、EntityManager

    • 实体类管理器,JPA中用于增删改查的接口。

    3、优点:

    • 持久化的作用是处理复杂的业务逻辑,减少重复代码。如果你写过复杂的应用,就会发现用JDBC要处理大量地处理字符串,而且直接使用JDBC字符串处理特别容易导致SQL注入漏洞,如果直接使用JPA框架就可以省去这些麻烦。更加专注于业务逻辑。JPA的出现就是为了制定一个持久化的标准。

    七、数据类型
    1、底层代码划分为五大数据类型

    • 整数型:Long
    • 小数型:BigDecimal
    • 字符串:String
    • 日期型:Date
    • 布尔型:boolean

    2、划分思想:
    大数据时代,数据量将不断增加,字段的范围尽量设计的大一些,用空间来换取时间。以避免后期由于字段的范围不够而导致重新设计数据库表的痛苦。
    八、技术架构培训
    九、开发规范培训