# mvccourse **Repository Path**: web-courses/mvccourse ## Basic Information - **Project Name**: mvccourse - **Description**: 学生教学课程工程.基本的mvc分层和jpa操作. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-05-13 - **Last Updated**: 2024-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mvc-course #### 一.介绍 学生教学课程工程.基本的mvc分层和jpa例子. #### 二.先创建一个个人分支用来提交代码. 1. 在intellij 的最右下角能看见master字样.这是当前分支. 2. 点击master 3. 选择 local -> master 4. 再点击之后 选择 new branch from master .起一个自己的名字,就会得到自己的分支. 5. git push 会提示你输入用户名密码之类的操作. 6. 如果是第一次创建分支还会提示你 你这个分支只在本地. 需要设置remote as upstream, 按他的提示 执行 git push --set-upstream origin 你的分支名 就可以把你自己的分支推到远程了 7. 然后就可以通过右下角的分支管理在各个分支来回切换 #### 三.intellij的基本设置 1. 设置版本控制 * 点击 File ==>Settings ==>Version Control ==>Commit * 将Commit中的【Use non-modal commit interface】前的对勾去掉,则可以在Git模块中显示Local Changes。 2. 设置sdk * file ==> Project structure ==> Project setting ==> Project ==> SDK 3. 查看springboot的Modules结构设置 * file ==> Project structure ==> Project setting ==> Moddules * 点击工程的modules [mvccource] 然后再右侧展开 src -> main * 点点看 java 文件夹是不是会让 source 标签亮起. 没有的话点一下source * 点点看 resource文件夹是不是会让 resource 标签亮起. 没有的话点一下resource 4. 设置gradle * setting-> 搜索gradle -> build tools下. 把gradle user home改成不要是c盘. 这个路径会下载很多jar包 * 也可以通过设置 GRADLE_USER_HOME 这个环境变量.把路径改成要存储下载jar包的路径. #### 四.开发教程 1. controller用来放置控制器[controller](src%2Fmain%2Fjava%2Fcom%2Fxjd%2Fcourse%2Fmvccourse%2Fcontroller) * @RestController注解用来注册一个控制器.并且表面这个控制器是restful的接口 * put请求 post请求的参数千万别忘记 @RequestBody注解. 这个注解会告诉api. 这个请求的参数是json对象格式. * 定义一个request对象来做json数据的提交参数对象. * 定义一个response来返回数据. * 千万千万不要把jpa的entity直接当response返回. 因为entity可能会产生很多隐藏属性和功能,直接返回前台是无法转json的 * 为request和response对象加上@Getter @Setter @NoArgsConstructor @AllArgsConstructor @Builder 来添加默认方法. 尽量使用builder来构造对象 * 为对象加上@Schema(description = "字段描述"). 这样我们生产的swagger文档就能看到字段的信息 * * 使用@Resource 注解,定义在一个内部变量上,可以注入一个service

2. service层用来放置服务 [service](src%2Fmain%2Fjava%2Fcom%2Fxjd%2Fcourse%2Fmvccourse%2Fservice) * @Service 注解用来注册一个服务. * 注册之后此服务就会被spring的factory管理.就可以通过注入给controlle提供服务 * 使用@Resource注解,定义在内部变量上,可以注入一个repository

3. model层用来放置数据模型 [model](src%2Fmain%2Fjava%2Fcom%2Fxjd%2Fcourse%2Fmvccourse%2Fmodel) * @Entity声明一个模型 * @Table(name = "表名") 注解会关联到表名 * 在id字段上 使用注解 就会指定主键类型为自增.当然需要数据字段也要对应为自增主键才行 * @Id * @GeneratedValue(strategy = GenerationType.IDENTITY) * 在字段上使用 @Column(name = "字段名") 就会把模型里的字段对应到表字段. 如果你的字段名和数据库名一致. 比如表里叫user_name. 模型字段叫 userName那就可以不写注解 * 在字段上使用 @CreatedDate 就可以给字段默认的设置上创建时间. 但是别忘了给创建时间设置 @Column(updatable = false) .这样每一次修改时值就不会改变.字段也必须是日期类型的 * 在字段上使用 @LastModifiedDate 就可以给字段默认的设置上修改时间. 字段也必须是日期类型的.只要每一次update操作.这个字段对应的值就会实时刷新修改时间 4. repository层用来放置对数据库的操作 [repository](src%2Fmain%2Fjava%2Fcom%2Fxjd%2Fcourse%2Fmvccourse%2Frepository) * @Repository 注解用来注册一个jpa的数据库操作接口. * 基本的实现是 public interface XXXRepository extends JpaRepository<你的模型class, 模型里的主键类型>

5. 添加swagger之后.就能通过swagger查看api和请求api. 地址是 http://localhost:8080/swagger-ui/index.html #### 五.git提交代码 1. 如果代码文件是红色,表示还没有添加到add. 选择文件,右键 git add. 让文件变成绿色/蓝色为止. 2. 在git localChange上看到待提交的文件. 选中之后,右键选择 commit file . * 填写清晰的commit message,记录每一次变更的过程. * 如: [yangxun] feat: 编写readme * feat 表示需求 * test 表示测试 * fix 表示修问题等等 * 小步提交 不要一攒一大堆 3. 提交代码钱请使用 git pull -r 拉取最新的代码. -r是 -rebase的意思. rebase代码会有最清晰的提交和合并链. 不允许直接merge * Current branch master is up to date. 表示代码已经是最新.可以提交 4. 如果有冲突的话,可以在IntelliJ ideal下面的git 栏,local changelist进行resolve处理 5. 处理结束之后. 执行 git rebase --continue 直到出现success 为止 6. 使用 git push 把代码推到远程