- 博客(48)
- 收藏
- 关注
原创 文件和IO的核心API
在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,便可以进行反序列化,否则就会报序列化版本不一致的异常。字节流可以处理所有的文件,包括文本文件,但如果我们想获取其中的文本信息那么需要自己将读取到的字节再转换为字符,就相当麻烦,所以采用字符流可以简化开发;注意设置一个自己的序列化ID需要先清空对象磁盘文件内容,重新输出到磁盘文件里,读取磁盘文件对象就发现Book的价格属性就为0了;
2023-08-24 17:45:12 134
原创 MySQL基础篇(四)
概述:多表查询就是多张表之间的查询。回顾:SELECT * FROM table_name多表查询 from 后面就得跟多张表。如:select * from emp,dept笛卡尔积:笛卡尔积在数学中,表示两个集合,集合 A 和集合 B的所有组成情况。如何在 sql 中去消除笛卡尔积尼?在sql 查询中,只需要加上一定的条件,就可以消除无效数据,消除笛卡尔积。
2023-08-23 00:45:00 414
原创 操作员管理 微人事 项目 SpringBooot + Vue 前后端分离
SpringSecurity 实现UserDetails 重写isEnabled 不能有重复的可能重复生成,或者加了个@Data也重复生成了去掉它就好了。mysql逻辑: 查询Hr 和 角色之间的信息 每个Hr有哪些角色,除了当前用户不查。具体思路是前端传递用户id和需要更新多个角色id,后端接收用户id和数组角色id。先删除原来的角色和用户关联,在重新新增角色和用户关联。弹出的时候进行修改角色,关闭框的时候就更新成功。进行遍历对比两个数组的数据角色id是否一样。
2023-08-22 13:37:52 592
原创 MySQL基础篇 (三)
用途:用于单表拆分,将一张表的基础字段放在一张表中,其它字段放在另一张表中,可以提升查询效率。案例:为emp表的dept_id字段添加外键约束,关联department表的主键id。注意上面创建的时候没有使用外键真正的来管理数据,可能会存在数据的丢失。概念:用户建立两张表之间的联系的,为了保证数据的一致性和完整性的。概念:就是用来作用表中字段的规则,用于限制存储在表中的数据。实现:在任意一张表里面添加外键,关联另一张表的主键。实现:在多的一方建立外键,指向一的一方的主键。控制sql 执行顺序。
2023-08-22 00:00:00 111
原创 MySQL基础篇(二)
WHERE 条件 ];注意事项:删除条件可以没有,没有默认是删除整张表数据,删除语句不能够去删除某一个字段的值,只能用修改语句实现。查询年龄小于45的员工 , 并根据家庭地址分组 , 获取员工数量大于等于3的家庭地址。案例:修改id为1的数据, 将username修改为小明, gender修改为 男。根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序。案例:修改id为1的数据,将username修改为 syy。查询年龄大于15的员工姓名、年龄,并根据年龄进行升序排序。
2023-08-21 04:00:00 130
原创 微人事 部门管理 模块 (十五)
element-ui中的el-tree在添加或者删除子节点后,也就是每次数据刷新后树就会收上去,但是如果我们还需要在当前节点下进行后续操作,而且有很多层节点的情况下,就很麻烦了,对用户体验感非常差,那么怎么解决呢?解决办法:定义一个数组,然后点击树节点时,保存下来,存进数据内,刷新后树之前展开的节点就能还是展开的状态。如果在董事会上点添加部门就是董事会的子部门,所以要传的参数一个是父部门的id,一个添加的部门名字。数据不多可以用递归,数据很多就用懒加载的方式。当点击添加的时候应该弹出输入框。
2023-08-21 03:51:10 537
原创 微人事 登录问题完善
重启服务端的时候,发现前端页面会操作不了,这样后端session会失效,我们就需要让页面重新跳转到登录页。springsecurity配置类后端配置。前端拦截器进行拦截跳转。
2023-08-19 23:19:29 764
原创 SpringBoot + Vue 微人事权限组管理模块 (十四)
getCheckedKeys 方法 若节点可被选择(即 show-checkbox 为 true),则返回目前被选中的节点的 key 所组成的数组,(leafOnly) 接收一个 boolean 类型的参数,若为 true 则仅返回被选中的叶子节点的 keys,默认值为 false。## 菜单角色关系修改角色全部展示出来了,还差个预选中的问题,就是选中角色可以操作哪写菜单看数据库有个menu_role 菜单角色关联表 ,根据角色id查询可以操作哪写菜单,把角色可以操作菜单的id查询出来。
2023-08-19 23:12:34 803
原创 SpringBoot 微人事 职称管理模块(十三)
这样做的原因是因为要是直接用那个Jl数据会出现一些问题:会出现表格和弹框数据输入,表格也会变,然后就是弹框数据,取消的时候数据还是弹框之前输入取消的数据,导致表格的数据需要刷新才能恢复之前的数据。当点击编辑的时候应该弹出对话框 ,添加这个dialogVisible 变量,默认是关闭的。v-model的值为当前被选中的el-option的 value 属性值。点击编辑弹框,给编辑点击事件的函数里dialogVisible 变量。输入框和选择框输入数据,确认触发点击事件。在表格里进行添加是否启用的标签。
2023-08-19 02:53:08 1109
原创 SpringBoot + Vue 微人事(十二)
添加一个点击事件,这个是一个点击多选框会触发的点击事件。给这个按钮添加一个点击事件,进行连接后端,批量删除。没有选中肯定默认是禁用批量删除按钮的,添加一个。赋值给这个空数组变量,保存着始终点击项。定义一个变量,空数组变量。赋值就是当前选择的项。
2023-08-18 13:59:48 807
原创 SpringBoo t+ Vue 微人事 (十一)
dialogVisible把这个属性设为true 就显示对话框了。职位的名称进行展示到对话框,对话框改变,职位名称也会变。定义一个对象,点击进行赋值表单那项数据。做一个变量的拷贝进行复原没有修改的数据。点击确定按钮是做一个更新操作。在对话框里面做编辑的操作。让输入框跟标签 一样展示。进行后端连接,更新操作,点击确认才会变进行修改了。点击编辑按钮展示对话框。取消还展示输入框得数据。与输入框进行数据绑定。发现取消操作有点问题。
2023-08-18 13:59:35 462
原创 SpringBoot Vue 微人事(十)
删掉了MySQLIntegrityConstraintViolationException这个异常类才能导包,能用。因为mysql字段关联其他表,进行约束了,删除不了的,就报未知错误是不合适的。在后端格式化处理非常简单,加一个注解就能搞定。需要在后端写一个全局异常类。
2023-08-18 13:59:20 253
原创 SpringBoot + Vue 微人事(十)
我们可以看到我们定义的initPositions并没有调用,我们以前是登录的时候要点击登录的按钮去调用方法,但是我们这个不应该点,应该是页面一加载就会自动的去执行。那么如果让方法自动去执行呢?在methods中的定义的添加方法的代码如下;首先要判断用户是否输入了名字,输入了就去发送添加的请求地址,添加成功之后调用initPositions方法刷新数据,没有输入则弹出提示框。先把table中的数据展示出来,table里面的数据实际上是positions里面的数据,就是要给positions:[] 赋上值。
2023-08-18 13:59:08 1659
原创 SpringBoot + Vue 前后端分离项目 微人事(九)
在controller包里面新建system包,再在system包里面新建basic包,再在basic包里面创建PositionController类,在定义PositionController类的接口的时候,一定要与数据库的menu中的url地址到一致,不然会出现没有权限访问的问题。再把position的增删改三个接口也给写一下。
2023-08-18 13:58:52 653
原创 SpringBoot + Vue 微人事 项目 (第八天)
右边是一个蓝色的添加按钮 type=“primary” 表示是蓝色的 icon=“el-icon-plus”:+号的标记 size="small:小号的。引入之后并不能直接使用,还需要注册成组件,组件有key和value,key和value相同,可以只写一个,定义的组件想当于是自己定义的一个html标签。v-model:一会要添加的数据,这个添加的数据可以从服务端看一下,未来想以json的形式上传它,就可以在data里面声明name默认为空字符。再引入这5个组件,在。
2023-08-18 13:58:37 220
原创 SpringBoot 基础篇
学习了SpringBoot框架之后,我们了解到SpringBoot内嵌了 Tomcat、Jetty、Undertow 三种容器,其默认嵌入的容器是 Tomcat,这个在我们启动 Spring Boot 项目的时候,在控制台上就能看到,具体信息如下:我们可以通过修改 pom.xml 来移除内嵌的 Tomcat 更换为其他的容器,比如更换为 Jetty 容器,配置如下添加完毕之后,更新pom文件,编译项目,启动之后如下显示,代表更改成功。
2023-08-17 11:38:57 165
原创 SpringBoot + Vue 微人事项目(第五天)
菜单数据不仅仅是要在Home.vue,Login.vue里面使用,还需要在很多很多vue页面里面使用,所以要放在一个所有vue文件都可以访问的地方。Home.vue和Login.vue里面的data只能在各自的页面使用 ,这些data都是局部变量,我要做的事是把加载后的数据放到一个公共的地方,不管是Home.vue还是其他组件都能访问到的地方,放到sessionStorang和localStorage里面是可以访问到的,但是还可以放到vuex什么时候需要状态管理?
2023-08-17 08:00:00 141
原创 SpringBoot + Vue前后端分离 微人事项目 权限管理思路(第六天)
但是,如果用户非这样操作,进入到一个空白的页面,用户体验不好,此时,我们可以使用 Vue 中的前置路由导航守卫,来监听页面跳转,如果用户想要去一个未获授权的页面,则直接在前置路由导航守卫中将之拦截下来,重定向到登录页,或者直接就停留在当前页,不让用户跳转,也可以顺手再给用户一点点未获授权的提示信息。此时,如果没有做任何额外的处理的话,用户确实可以通过直接输入某一个路径进入到系统中的某一个页面中,但是,不用担心数据泄露问题,因为没有相关的角色,就无法访问相关的接口。
2023-08-17 00:00:00 143
原创 SpringBooot + Vue 微人事第四天
菜单表 menu : menu 自己和自己关联查询自己的 父菜单下的 子菜单 sql语句条件:当前菜单的id 等于 parentId。用户和角色关联表 hr_role :查询当前用户的具备哪些角色 sql语句条件: 当前角色的ID 等于 这个用户角色 的用户id。菜单和角色关联表 menu_role:查询角色具备的菜单 sql语句条件:菜单的ID 等于 这个角色拥有的菜单 ID。menu表的各个列的意思: menu表 服务端的菜单项数据。用到了4个表,其中menu表自己关联自己。
2023-08-16 08:00:00 91
原创 SpringBoot + Vue 微人事项目(第三天)
这两个选项点击是可以跳转到其他页面的,为了测试一个现在views文件夹里面新建两个vue组件,Test1.vue和Test2.vue,新建的vue组件不能直接跳转,还需要在router文件中的index.js文件里面导入才可以用。这时有人会说直接把App.vue里面的复制粘贴到Home.vue页面的template模板的标签里面就行了。要把index.js里面的routers地址数组动态的渲染到左边的导航栏里面去。把侧栏的标签里面的代码拷贝到标签里面,显示效果如下 左侧导航栏的效果代码。
2023-08-15 15:25:00 311
原创 SpringBoot + Vue 微人事项目(第二天)
昨天做了微人事登录的前端页面和后端接口,实现了前后端接口的对接,输入正确的用户名和密码之后,成功的跳转到home页。现在要做的就是Home页的Title制作。
2023-08-15 04:56:03 205
原创 axios进行跨域连接后端
前端传账号密码------> 后端验证成功------->后端返回Token------>前端接收过来异步操作actions登录获取前端token, 操作mutations的方法----------->mutations的方法,把token 值赋给state,设置到localStorage----------->state获取localStorage的值因为vuex每次页面刷新,里面的token就会没有了,把token值放在localStorage,这样就算页面刷新了,也能获取token值。
2023-08-10 18:56:48 232 1
原创 VUE搭建一个Login页面和Home页
发现页头宽度没有占满浏览器,在index.html的body添加去除浏览器默认样式。发现左菜单栏,如果要添加其他的菜单就要在页面重复添加菜单的代码,就用一个办法。添加菜单激活回调事件,可以获取到子组件的index。在main.js引入element-ui。效果不对,应该展示到页头最右边,添加样式。在主页就展示了Test1测试组件的页面。加入Container 布局容器。删除一些只留下导航一,展示效果。在左侧菜单index添加路径。可以遍历router的内容。测试组件配置router。
2023-08-10 15:35:26 608 1
原创 JWT登录认证
WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。如果您使用的是带有 JWS 签名的 JWT,则必须使用 parseClaimsJws 方法才能正确解析 JWT 并验证签名。如果使用的是未签名的 JWT,则可以使用 parseClaimsJwt 方法;
2023-08-06 15:12:45 354
原创 pagehelper 分页查询
UserService 查询进行分页对返回结果进行封装成PageInfo。pagehelper 分页非常简单。properties 文件配置。pagehelper 分页。
2023-08-06 06:02:14 368
原创 Spring整合Junit 和 JdbcTemplate
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5NO1Cbv-1691041833897)(…/…/Lombok/笔记/picture/image-20221029161945629.png)]
2023-08-04 01:30:00 133 1
原创 Spring DI注解开发
注解配置xml 配置功能说明@Component@Servicebean 标签(id,class)定义bean扫描包加载bean@Autowired@Qualifier@Valuesetter 注入构造器注入自动装配依赖注入@Beanbean 标签,静态工厂模式,实例工厂模式,FactoryBean配置第三方bean@Scopebean 标签中的 scope 属性设置作用域bean 标签中的 init-method / destroy-method生命周期相关。
2023-08-03 12:52:30 38
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人