编程日记
寒洲Etherealss
这个作者很懒,什么都没留下…
展开
-
MyBatis关闭日志输出
通常来说,即使在日志配置文件里设置:<logger name="org.apache.ibatis" level="warn"/><logger name="org.mybatis" level="warn"/><logger name="org.apache.ibatis.logging.jdbc.BaseJdbcLogger" level="warn" />控制台依旧会输出MyBatis日志。这是可以在SpringBoot的yaml文件中配置:mybat原创 2021-11-06 14:32:25 · 3746 阅读 · 1 评论 -
博客系统点赞功能 使用策略模式及redis缓存和持久化
场景概述在实际开发中,点赞是高频操作,如果每一次点赞或者获取点赞数都要查询数据库,将会给数据库造成极大的压力,因此尝试用缓存技术来缓存操作。常用的有redis缓存技术。现在想要做一个博客系统的点赞功能,现在有用户表user,文章表article,帖子表posts,评论表comment,文章、帖子和评论三种类型统称为“作品”,每一种作品类都点赞数字段。以下仅以文章点赞为例,其他作品类型的点赞功能实现大同小异。创建文章点赞表article_like_record,这是一个关系表,储存点赞方和被点赞方,以此原创 2021-01-29 19:07:45 · 4118 阅读 · 4 评论 -
JS 点击按钮执行ajax后又刷新页面的问题原因+解决
做了一个登录按钮,本意是想在点击按钮之后执行ajax,访问后端,但是发现点击后会刷新页面。原因:按钮如果是表单的<button>标签,如果没有指定type属性,则其type属性默认为type=submit。所以每次点击登录button后都会执行提交表单的操作,表单操作默认有刷新页面的功能。解决:需要给每一个普通的按钮添加type="button"属性。...原创 2021-01-09 16:17:32 · 1406 阅读 · 0 评论 -
JavaWeb 后端动态获取前端传输的ajax参数
注:此处我采用策略模式获取参数,因此方法均为非静态方法。获取前端传输的json数据,以json返回/** * 通过前端的json数据获取json对象 * @param req * @return 封装了参数的json对象 */public JSONObject getJsonByJson(HttpServletRequest req) { try { BufferedReader streamReader = new BufferedReader(new InputStreamRea.原创 2020-11-26 12:39:47 · 1099 阅读 · 0 评论 -
数组实现大数加法及乘法
在计算大数字的时候可以使用数组来储存数字,然后通过数组操作来完成数学运算。大数加法:数组对位运算,将大数储存到数组中之后每一位做简单的加法运算,思路很简单大数乘法:我们可以将超大整数转化若干的小操作。例如: abcde*pqrst=abcde*p*10000+abcde*q*1000+abcde*r*100+abcde*s*10+abcde*t而每一个子项都可以进行一次加法运算,如abcde*p*10000+abcde*q*1000可以视为两个大数的加法。考虑到位数和权重是等价的,第一位(个位)原创 2020-10-13 00:34:21 · 1953 阅读 · 3 评论 -
数据库外键表的id列
有些时候我们创建数据库的外键表只有两列:id列和具体数据列,比如部门表:idname1开发部2人事部3财政部而通常我们只需要name列,id列仅作为外键使用。那能不能去掉id列,直接以name作为外键呢?实际上,id一般是设置为主键,并且会自增,且使用id会节省数据库内存空间。因为主键会建立一颗索引树的,如果主键太大,索引树的空间占用也会很大。所以通常都会有id列且作为主键....原创 2020-10-06 19:26:50 · 592 阅读 · 0 评论 -
在使用java代理模式时,事物还未提交就已经关闭
(本博客用于记录自己在编程时遇到的一个很蠢的问题,可能对你的帮助不是很大)。实现了基于动态代理处理JDBC异常时自动事务回滚,invoke方法时中的代码是@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable { log.trace("调用方法:" + method.getName()); //方法返回值 Object value; try{ // 将受代理的事务执原创 2020-10-05 13:01:23 · 519 阅读 · 0 评论