SSM_CRUD

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)组员就可以连

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值