一、安装开发工具,配置开发环境
- 开发语言: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 前端私服
四、熟悉代码生成工具
- 远程拉取code项目至本地进行运行,GitHub:https://github.com/sunzhongqiang/code
- 运行项目访问根目录进入网页熟悉代码生成工具的使用
五、根据公司的技术架构和开发规范实现对student表的CRUD
- 创建student表;
- 创建项目基本结构,引入额外需要的依赖;
- 根据代码生成器生成机械化的代码,配置application.properties文件,运行;
- 在apizza网站上测试接口并保存;
- 自定义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、划分思想:
大数据时代,数据量将不断增加,字段的范围尽量设计的大一些,用空间来换取时间。以避免后期由于字段的范围不够而导致重新设计数据库表的痛苦。
八、技术架构培训
九、开发规范培训