后端学习
学习
走到天涯海角
从坑中爬出后,避免再次入坑!
展开
-
新增角色和修改角色的总结(角色勾选,前台实现)
新增角色和修改角色做法差不多,就是修改角色前要先勾选该角色默认的菜单。新增角色完整的实现过程:新增角色新增角色的效果图:新增角色前的操作:1.页面编写:2.点击新增按钮弹出新增角色页面3.调用ztree,实现树的构建4.点击保存按钮:新增角色5.后台逻辑判断:修改角色的效果图:修改角色前的操作:1.页面编写:2.点...原创 2020-04-23 22:08:44 · 1404 阅读 · 0 评论 -
Windows找不到javaw
因为项目要升级,但却发现有这个问题,进不去右键编辑找到jdk路径set path=D:\mcdev\jdk8\bin原创 2021-02-04 18:55:06 · 6232 阅读 · 2 评论 -
SpringMVC框架下实现文档上传和文档下载总结
文件上传的思路: 我们需要先上传文件,将文件信息进行上传,然后通过io保存起来,保存在服务器上的某个位置,然后将保存的文件名返回回来,然后将文件名保存到一个hidden类型的输入框中,当你填写好积分的时候点击提交按钮一并上传上去,保存到数据库。 简而言之,文件上传就两步: 1.点击选择文件按钮,把文件提交到服务器的某个位置,然后把返回的文件名和文件类型渲染到界面上,但是是通过input框的类型为hidden隐藏起来 2.点击上传文件按钮,把文件...原创 2020-05-19 18:22:23 · 387 阅读 · 0 评论 -
展示数据到页面上应该注意的细节
连表查询的时候,有时候会查不到数据,这时候,我们在展示数据的时候就要注意一下细节我们不能这样显示给用户看,所以要加一些小小的改动如下:加个简单的判断str+='<td>'+(arr[i].userInfo.userName!=""?arr[i].userInfo.userName:"暂未分配家长")+'</td>';...原创 2020-05-07 19:58:05 · 207 阅读 · 0 评论 -
新增角色的另一种做法
表:角色信息表:public class RoleInfo { private Long roleId; private String roleName; private Long roleState; private Date roleCtime; private Long roleType;}角色菜单关系表:public ...原创 2020-05-06 09:59:56 · 325 阅读 · 0 评论 -
关于JavaWeb增删改查的简单总结
增删改查中最简单的功能是删除,通过Id来删除单表或者多表都是可以的。 增删改查中最重要的功能是查询,因为不仅仅是单表查询、连表查询需要用到查询,新增前和修改前也要使用到查询。 查询遇到的业务比如: 1.登录:通过查询用户名和密码来找出用户,密码可以重复,但是用户名必须唯一,否则没办法找出单个用户。User selectUser(@param("user"...原创 2020-04-25 13:14:49 · 2288 阅读 · 0 评论 -
springMVC+ztree+zui的项目报错ztree Cannot read property 'init' of undefined
业务:1.新增角色前要显示菜单遇到的错误:ztree Cannot read property 'init' of undefined我这边头部引入了JQ,下面又引入了JQ(没截图),导致错误的原因,我估计有两个:1.引入了两个一样的文件,2.引入的顺序不对正确的引入方式:所以一定要认真检查效果图:至于是怎么实现的呢?很简单,往下看实体类:p...原创 2020-04-22 19:20:44 · 575 阅读 · 0 评论 -
BUG之Expected one result (or null) to be returned by selectOne(), but found: 4
意思是,本来要返回一个对象,却找到了四个。上面这个报错是因为,用户在登陆的时候,要输入正确的账号和密码才能访问跳转到他对应的页面。所以要确保一个账号对应一个用户,用户密码相同无所谓,但是账户名一定不能重复,否则就会和我一样报错。所以,我把数据库相同的用户删掉,然后做用户名重复的判断,如果用户名已存在,就提示用户该用户名已被注册,这样就不会造成用户名重复的问题。...原创 2020-04-20 16:09:26 · 4915 阅读 · 0 评论 -
Spring aop的运用
实现步骤:官网:https://docs.spring.io/spring/docs/5.2.5.RELEASE/spring-framework-reference/core.html#spring-core1.引入jar: <!-- SPRING AOP --> <dependency&g...原创 2020-04-17 22:25:41 · 100 阅读 · 0 评论 -
(使用mybatis后),实现service层的封装
封装service层要做的准备:1.建立Maven项目工程2.写业务代码3.引入spring4.扫描service层(有spring才有得扫描)<context:component-scan base-package="service"></context:component-scan>5.注解:@Service@Repository@...原创 2020-04-17 18:12:36 · 1368 阅读 · 0 评论 -
修改角色状态并不一定要先通过id得到整个用户信息,可以这样做
之前做修改功能的时候都是通过ID得到整个用户信息,然后再修改。现在我这样做,通过定义一个全局变量来保存分页的角色信息然后把从后端取出来的数据赋值给这个全局变量。ID我已经从数据库中循环出来但是我不需要先通过ID来找到整个角色的信息。最后在servlet中处理一下就好了...原创 2020-04-17 00:02:16 · 638 阅读 · 0 评论 -
使用PageServlet来专门处理WEB-INF下的文件跳转,为啥没有办法跳转到其他页面呢?
因为没有加上随机数,系统会认为我们跳转的是同一个页面,其实不是。 我遇到的BUG是,我想跳转到上传页面,却跳转到登录页面。 其实,很简单...原创 2020-04-13 10:39:07 · 218 阅读 · 0 评论 -
阿里云服务器配置流程初体验
首先要在阿里云上面注册账号,然后登陆,挑选适合自己的云服务器ECS,个人使用的话,差不多就好,我个人使用的是学生版的比较便宜,也可以使用S6的那款,使用优惠劵后,价格在106块,20%性能的这种服务器不要选,要选就选百分百的。 这是我购买后的账单:(新用户购买都会比较便宜) 使用:1.https://www.aliyun.com/在阿里云网址下点击控制台2...原创 2020-04-07 23:15:38 · 441 阅读 · 0 评论 -
Maven项目导出
将下列参数添加到pom.xml文件中(没有使用框架下) <build> <!-- 导出的最终项目名称 --> <finalName>project</finalName> <plugins> <!-- 导出的项目所使用的的jdk的版本 --> <plugin> ...原创 2020-04-07 22:33:21 · 481 阅读 · 0 评论 -
MyBatis怎么同时新增两张表呢?(原来如此简单)
我要做的业务是上传文件(假上传),同时新增文件信息表和文件审核表,他们有共同的ID为文件ID(为了后面的关联查询)。 定义接口:public interface UpFileMapper { //上传文档 //1.插入文件信息表 Integer insertByFileInfo(@Param("fileInfo") FileInfo fi...原创 2020-04-07 22:20:44 · 9062 阅读 · 0 评论 -
MyBatis关联查询,怎么关联两张表或者三张表甚至更多张表呢?(要用到association标签)
MyBatis关联查询。其实不难,不要慌,虽然说我自己做不出来也是挺慌的,看官网看博客各种研究,后来发现挺简单的。但是发现和QueryRunner相比,没有后者好用,但是后者只能用在JSP上,不能用在HTML页面上,比较鸡肋。 Mybatis连表查询具体怎么使用呢,跟着我一步步来: 1.需求:因为我做的是文档审核界面,需要 (B表的文件名称,B表...原创 2020-04-05 23:21:43 · 4120 阅读 · 0 评论 -
把html页面放在WEB-INF下实现登录功能
WEB-INF下的页面是受保护的,没办法直接访问,所以我们要创建一个Servlet去访问,每个页面都要先访问这个Servlet。1.bean,2.dao,3.service,4.servlet,5.配置该servlet,6.登录页面,7.页面效果1.bean:public class AdminInfo {//后台用户表 private Long adminId; privat...原创 2020-03-31 20:55:49 · 1404 阅读 · 1 评论 -
MyBatis的使用步骤
MyBatis是一款持久层框架,这个框架封装dao的增删改查、分页操作。1. 引入jar包,并且build:2. 创建配置文件,这个配置文件主要用来填写driver,url,username,password等配置信息<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC...原创 2020-03-31 16:20:27 · 257 阅读 · 0 评论 -
MyBatis与JDBC
MyBatis中文官网:https://mybatis.org/mybatis-3/zh/getting-started.html MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架; MyBatis封装了几乎所有的JDBC代码和参数的手工设置以及结果集的检索;MyBatis来做配置和定义映射关系,将Java的 POJOS( Pla...原创 2020-03-31 13:12:44 · 582 阅读 · 0 评论 -
关于WEB-INF下路径的问题(html,css,js)
首先看图:index.html中怎么引用css,js文件夹呢?<link rel="stylesheet" href="dist/css/zui.min.css"> <link rel="stylesheet" media="screen" href="css/style.css"> <script src="js/particles...原创 2020-03-30 12:44:26 · 2048 阅读 · 0 评论 -
String类型怎么转成Long类型
String userSexs=request.getParameter("userSex"); Long userSex=Long.parseLong(userSexs);原创 2020-03-29 22:45:34 · 9994 阅读 · 0 评论 -
事务操作
正常来说,单表是不需要用到事务操作的。@Override public AdminInfo login(String name, String pwd) { Connection conn=DBUtil.getConnection(); try { conn.setAutoCommit(false); AdminInfoDaoImpl impl=(AdminInfoDa...原创 2020-03-28 21:09:18 · 271 阅读 · 0 评论 -
从建表到搭建JavaWeb工程的规范
此处采用命令行的方式建表,因为后期要使用到Linux,现在不使用,后期会不习惯。 用户名:system as SYSDBA 密码:orcl1.建表步骤:(1).创建表空间:SQL> CREATE TABLESPACE ZCY DATAFILE 'D:\java\ZCY.DBF' SIZE 50M;(2).创建用户和密码:SQL> CREATE ...原创 2020-03-27 22:52:01 · 252 阅读 · 0 评论 -
ORM映射原理与Java反射机制
Java反射机制主要功能: 在运行时,判断任意一个对象所属的类,构造任意一个类的对象,判断任意一个类所具有的成员变量和方法,调用任意一个对象的方法。 ORM(Object Relational Mapping),即对象关系映射。 实现思想:就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发者就可以把对数据库的操作转化为对这些对象的操作...原创 2020-03-25 10:35:27 · 544 阅读 · 0 评论 -
为什么要使用Spring框架?
特性:简单性、可测试性和松耦合性。 目的:解决企业应用开发的复杂性。 初衷:使得JAVA EE开发应该更加简单,使用接口而不是使用类,Spring将使用接口的复杂度几乎降低到了零,为JavaBean提供了一个更好的应用配置框架,更多地强调面向对象的设计,而不是如现在的JAVA EE技术,尽量减少不必要的异常捕捉,使应用程序更加容易测试。 ...原创 2020-03-24 22:08:00 · 777 阅读 · 0 评论 -
怎么样导包测试JavaWeb代码?
要有一个Tomcat来跑JavaWeb项目。1.需要创建用户(1)登陆有创建用户权限的system(2)右键New-->SQL Window(3)CREATE USER "ZCY" IDENTIFIED BY "ZCY";GRANT connect TO "ZCY";GRANT resource TO "ZCY";2.创建表要注意三点(1)为...原创 2020-03-24 11:22:22 · 323 阅读 · 0 评论 -
上下文路径跳转方式的写法说明
JSON的输出方式JsonMessage msg = new JsonMessage(); msg.setId(5); msg.setMsg("登录成功!"); msg.setLocation(request.getContextPath() + "/front/customer/index.jsp"); String json = JSONObjec...原创 2020-03-23 20:48:01 · 387 阅读 · 0 评论 -
解决数据库查询出来的数据和记录不统一的问题(带条件查询时的记录数计算问题)
出现了以上问题却没有报错,一直以为是自己代码写错了。后来在Servlet中debug发现,count为0,百思不得其解。心想难道是我dao写错了嘛打个断点试试,看看SQL语句和count发现count为0,意料之中把断点出来的sql语句放到数据库中,和自己在sql中写的语句一行行对比发现多了个空格,我。。。把空格去掉,就解决了以上遇到的问题。。。...原创 2020-03-22 16:11:12 · 994 阅读 · 0 评论 -
ORA-03115: 不支持的网络数据类型或表示法
报这个错,一开始我也不是很清楚,后来发现这边不能写sql正确的打开方式是原创 2020-03-18 12:39:48 · 3145 阅读 · 0 评论 -
字典表的运用
为什么要有code这个字段呢?是因为字典表里面还会存有性别、国籍等等之类的值,所以使用code来指定区分。例子演示:on后面的那个字段并不需要一样,只需要这两个表的两个字段的值一一对应,就可以了,并指定code为'order_status'。...原创 2020-03-16 09:30:30 · 2038 阅读 · 0 评论 -
JavaWeb从使用Bean到使用Map过渡(完整)以及使用QueryRunner方法
因为需要连表查询,没用Map的解决方法是:在实现类不可能返回两个bean或者三个bean,所以要在这个类中加入另一个类的属性,这样改来改去挺麻烦的。看了很多博客也没找到自己想要的,真的很绝望,现在自己解决了,分享给大家。Map中怎么查询出集合://管理员查看用户评估列表 public List<Map<String,Object>> queryC...原创 2020-03-14 09:44:02 · 381 阅读 · 0 评论 -
java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配
遇到这种问题是我日期直接手动插入不识别出现的bug。正确的解决方式:原创 2020-03-11 15:59:42 · 12434 阅读 · 0 评论 -
为什么分页的时候查询没有列表数据呢?
我觉得是因为这边出了问题要么是这个没写,要么是页面写错了原创 2020-03-11 10:50:31 · 779 阅读 · 0 评论 -
在dao中操作一个数组和操作两个数组的写法对比
1.操作一个数组://增加角色菜单中间表 public int addRoleMenu(int roleId, int[] menuIds) throws Exception;private static QueryRunner runner=new QueryRunner(JDBCUtil.getDataSource()); @Override public int ad...原创 2020-03-11 08:29:18 · 204 阅读 · 0 评论 -
JavaWeb做新增题目功能(把String数组转成int数组,在dao中操作数组),修改功能和新增相似
思路:1.首先要从页面上,获取一个字符串和两个数组(一个String类型的数组、一个int类型的数组)2.新增题目ID3.新增题目表4.新增选项表5.新增的Servlet代码分享,没有使用到事务1.首先输入题目信息2.页面上通过name属性传值:<form action="${pageContext.request.contextPath}/Tit...原创 2020-03-11 08:18:11 · 490 阅读 · 0 评论 -
把上个SEQ_T_ROLE.NEXTVAL的值作为下个dao的Id来使用
@Override public int createRoleId() { Connection conn =DBUtil.getConnection(); PreparedStatement ps = null; ResultSet rs=null; String sql="SELECT SEQ_T_ROLE.NEXTVAL AS ROLE_ID FROM DUAL"; ...原创 2020-03-10 20:08:51 · 805 阅读 · 0 评论 -
题库管理列表展示(展示题目以及选项)
效果图:我遇到一个问题,就是题目出来了,选项一直没有出来,很苦恼,后来做出来了,真不容易。思路:1.通过领域ID查找到所有题目的集合2.for循环得到所有题目的ID3.通过题目的ID找到该题目对应的4个选项4.把选项的集合放到title这个对象里面5.存值并转发到对应的页面上6.在页面中把值取出来并循环一步步来:1.通过领域ID查找到所有题目的集合...原创 2020-03-10 09:20:20 · 1370 阅读 · 3 评论 -
通过账户名获取用户所拥有的菜单,以及通过角色ID来获取该角色所拥有的菜单
1.通过账户名获取用户所拥有的菜单:@Override public List<Menu> queryMenuByuserName(String userName) { List<Menu> menuList=new ArrayList<Menu>(); Connection conn = null; PreparedStatement ps...原创 2020-03-08 19:25:14 · 1530 阅读 · 0 评论 -
JavaWeb中使用QueryRunner来做增删改的操作(比较方便)
1.private static QueryRunner runner=new QueryRunner(JDBCUtil.getDataSource());2.增加操作:@Override public int addCustomer(Customer customer) throws Exception { int result=0; String sql=" INSE...原创 2020-03-07 11:34:01 · 1113 阅读 · 0 评论 -
Java的bean中怎么写手机号码遇到的问题以及自己为啥没有早点想到
一开始用int,然后debug发现我dao那里走不下去了,出错是在tel这个字段,我在网上查了查,欣喜若狂,把oracle数据库中的int类型改成Long类型,结果等我字段一改发现又不行了,连打印都不支持Long类型,最后,想到用String,我用正则判断不就好了吗。...原创 2020-03-05 00:54:04 · 148 阅读 · 0 评论