1.后端crud
(1)mapper.xml 写 select insert update delete
<mapper namespace="cn.itsource.crm.mapper.DepartmentMapper">
<select id="queryAll" resultType="Department">
select * from t_department
</select>
<select id="queryOne" parameterType="long" resultType="Department">
select * from t_department where id = #{id}
</select>
<insert id="save" parameterType="Department">
insert into t_department(name) values (#{name})
</insert>
<update id="update" parameterType="Department">
update t_department set name=#{name} where id=#{id}
</update>
<delete id="remove" parameterType="long">
delete from t_department where id=#{id}
</delete>
</mapper>
(2)在对应的controller写上 crud方法
2. 前端界面处理
(1) 创建一个Department.vue这个页面
(2) 配置路由
(3) main.js 引入axios
(4) 注释掉模拟数据
(5) 修改Department.vue这里面界面
3.1前端访问后端
3.1跨域问题
(1)同一个域名,不同的端口 --属于跨域 localhost:8080 --> localhost:80
(2)不同 域名 – 属于跨域 192.168.0.1 192.168.0.2
(3) 二级域名不同 – 属于跨域 miaosha.jd.com --> qianggou.jd.com
浏览器(同源策略)针对ajax的请求, 如果访问的时候不同的域名,或者不同的端口, 存在跨域问题
同源策略:只允许 相同协议 相同域名 相同的端口
3.2跨域问题解决
(1)jsonp–很早的
动态的构造的 标签
(2)通过nginx (部署) – 解决跨域问题 – 反向代理机制
类似 中间商 ,把访问后台的请求 转换访问自己, 让那个nginx去访问后台,把结果那会,在转给前台
缺点:
部署服务,做配置
(3) CORS机制: 跨域资源共享"(Cross-origin resource sharing) "
解决 跨域问题 (浏览器有同源策略,(相同域名,相同的端口,相同协议),如果不是同源,存在跨域问题)
发送请求: 普通请求 发送一次,后台服务需要运行访问 …
特殊请求 发送二次, 第一次是预检请求, 服务器也要运行预检, 前台发现预检通过,在发送真实请求 , 真实请求也需要服务器允许
解决:都需要服务允许
注解: 版本 spring版本 4.2.5 以后才支持注解
在controller类上面加上注解
@CrossOrigin
即可跨域访问
4.前端crud
代码
//获取用户列表
getDepartments() {
let para = {
page: this.page,
name: this.filters.name
};
this.listLoading = true;
//NProgress.start();
//getUserListPage(para).then((res) => {
this.$http.patch("/department/list").then((res) => {
console.log(res);
this.total = res.data.total;
this.departments = res.data;
this.listLoading = false;
//NProgress.done();
});
},
//查询一个
handleSearch:function(){
this.listLoading = true;
//NProgress.start();
//getUserListPage(para).then((res) => {
this.$http.get("/department/"+this.filters.name).then((res) => {
console.log(res);
this.total = res.data.total;
this.departments = res.data;
this.listLoading = false;
//NProgress.done();
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { id: row.id };
console.log("id="+para.id);
//removeUser(para).then((res) => {
this.$http.delete("/department/"+row.id).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getDepartments();
});
}).catch(() => {
});
},
//显示编辑界面
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
//显示新增界面
handleAdd: function () {
this.addFormVisible = true;
this.addForm = {
name: '',
};
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
console.log(para);
//editUser(para).then((res) => {
this.$http.post("/department",para).then((res) => {
this.editLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getDepartments();
});
});
}
});
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
this.$http.put("/department",para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getDepartments();
});
});
}
});
},
5.svn
svn : 代码管理工具 , 设置不同的人,有不同的权限,来查看或者修改
svn: 项目版本控制工具
svn: 一般使用团队开发 (git分布式版本控制工具)
svn: 安装 (svn服务端(公司的服务器上面) svn客户端(具体每个同事的电脑) )
svn: 上传 下载
5.1 安装
(1)先安装svn server
(2)在安装svn client 小乌龟
(3)idea配置
5.2svn基本操作
–新增内容
(1)创建仓库
(2)创建用户 ,组 分配权限
(3)先checkout 检出仓库到本地
(4)在文件夹里面新增的文件 --先点击右键 --添加 -->commit
–更新内容
在对应的文件夹里面 右键 --update 更新内容
–删除内容
先在本地文件夹里面删除内容 — 提交(svn里面内容也删除掉)
–解决冲突
什么情况下会出现冲突
多个人修改同一个文件,这个就容易出现冲突
比如 TT — >123.java 修改之后,提交到服务器
ZH -->123.java. 在修改这个文件的时候,没有更新内容,导致在不是最新代码下面 去修改,在提交的时候,就产生冲突
怎么解决这个?
(1)如果zh发现冲突的时候,先更新svn代码
(2)修改对应的文件 (和其他人商量一下(TT)) -->最终形成一个版本
(3)把该文件标记成已解决
(4)再提交
6.项目环境搭建
(1) 搭建一个项目前端 后端
(2)上传svn服务器 (把修改的代码全部上传上去)
svn分配账号
(3)组员 就SVN下载下来–>组员/组长 的防火墙记到关闭
(4)导入组员自己电脑的项目
(5)组员就可以进行开发
组员开发的时候–>一般把自己修改的代码提交上去,不要经常提交(感觉没什么问题在去提交)
最重要: 记到备份 (每个人把自己的东西备份)
特殊文件特殊处理:
idea生成的文件
target编译文件
db.properties文件 – 第一个版本 可以提交到svn ,组员下载
第二次 … 就不要提交这些文件
mysql的配置
(1) 自己组内选择一台电脑比较好作为服务器
(2)在服务器里面创建数据库
(3)创建root用户 配置 权限
(4)组员就可以连