本站实用小技巧

1、本站支持多词汇分词搜索,在输入框输入搜索词可以用空格进行分词,例如本站有篇通过端口结束电脑进程的教程,不知道标题,也忘了具体内容,如果单搜索“端口”可能有很多结果。但是搜索“端口 进程”就会发现只有两个搜索结果了,实用方便快捷。2、文章代码块均支持代码复制功能,可以点击代码块上的复制按钮进行复制。例如:echo "hello";3、文章页均具备TOC导航功能,会在文章右侧显示“目录导航”按钮方便查看文章目录,例如:一级目录可点击右侧“目录导航”按钮快速定位到内容二级目录二级目录内容4、 电脑端浏览本站文章可点击文章下方二维码方块图标即可生成页面二维码,用手机扫码即可在手机端浏览

IDEA删除破解补丁.jetbrains目录后软件打不开解决方法

在C:\Users\Administrator\AppData\Local\JetBrains与C:\Users\Administrator\AppData\Roaming\JetBrains目录删除对应版本配置文件夹即可,例如IntelliJIdea2020.1。

LayUI关闭弹出层 layer弹出框

layer.close(index) - 关闭特定层//当你想关闭当前页的某个层时var index = layer.open();var index = layer.alert();var index = layer.load();var index = layer.tips();//正如你看到的,每一种弹层调用方式,都会返回一个indexlayer.close(index); //此时你只需要把获得的index,轻轻地赋予layer.close即可//如果你想关闭最新弹出的层,直接获取layer.index即可layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的//当你在iframe页面关闭自身时var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引parent.layer.close(index); //再执行关闭layer.closeAll(type) - 关闭所有层layer.closeAll();   //关闭所有层parent.layer.closeAll(); //关闭父级所有层layer.closeAll('dialog');   //关闭信息框layer.closeAll('page');   //关闭所有页面层layer.closeAll('iframe');   //关闭所有的iframe层layer.closeAll('loading');   //关闭加载层layer.closeAll('tips');   //关闭所有的tips层

layui自带控件图标出现方格不显示解决方法

  首先我猜是拦截器原因,经排查一切正常,直到看到前端报错:Failed to decode downloaded font: http://localhost/layui/font/iconfont.woff?v=250才让我恍然大悟。  先对该url进行访问,可以访问但下载的内容为空,于是在前端文件夹中看woff等图标文件,发现原来这些文件内容均为空,遂从layui官网重新下载layui源码,将图标文件替换即可。

layui自带控件图标出现方格不显示解决方法

windows命令行对文件进行md5/sha1sum等哈希校验

有时候下载软件或文件时候需要进行hash校验来验证文件的完整性,虽然网络上有很多方便的小工具,但其实Windows也有自带类似的工具,只要在命令行输入命令即可。格式:certutil -hashfile <文件路径> <hash类型>例如:certutil -hashfile a.zip sha1certutil -hashfile a.zip md5

tk.mybatis的使用说明

tk.mybatis的使用用法说明依赖<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.0</version></dependency>或 <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.4.2</version> </dependency>前者包含了mybatis一些依赖,若ssm项目搭建好了,用后者就行。实体类与Mapper改造若属性与数据库字段对应不上需要用@Column注解对于,表名不一样同理用@Table,一样的无需添加,主键上需加@Id注解。@Data@Table(name = "t_order")public class Order { /** * CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), price FLOAT ); */ //Order实体类中属性名和orders表中的字段名是不一样的 @GeneratedValue(generator = "JDBC") // 自增的主键映射 @Id @Column(name = "order_id") private int id; //id===>order_id @Column(name = "order_no") private String orderNo; //若跟数据库字段一致可不写注解 private Double price; }Mapper接口需继承tk的Mapper<T>import ssm.entity.Person;import tk.mybatis.mapper.common.Mapper;public interface PersonMapper extends Mapper<Person> {}xml可以内容为空,但最好加上结果集设置好与数据库字段对应关系(如果实体类属性与数据库字段不一致的话)<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="ssm.dao.PersonMapper"> <resultMap id="BaseResultMap" type="ssm.entity.Person"> <id column="id" jdbcType="INTEGER" property="id" /> <result column="name" jdbcType="VARCHAR" property="name" /> <result column="description" jdbcType="VARCHAR" property="description" /> <result column="creater" jdbcType="VARCHAR" property="creater" /> <result column="create_time" jdbcType="DATE" property="createTime" /> <result column="updater" jdbcType="VARCHAR" property="updater" /> <result column="update_time" jdbcType="DATE" property="updateTime" /> </resultMap></mapper>报错解决报错:java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider怎么办?这种情况是MapperScan包的问题,mybatis与tk.mybatis都有这个,在此我们导包请导tk的这个包。对于SpringBoot项目在Appliction启动类上使用MapperScan注解的,更改导包路径为。import tk.mybatis.spring.annotation.MapperScan;对于传统SSM项目,将mybatis的扫描配置器改成tk的即可 <!-- DAO接口所在包名,Spring会自动查找其下的类 ,自动扫描了所有的XxxxMapper.xml对应的mapper接口文件,只要Mapper接口类和Mapper映射文件对应起来就可以了 --><!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">--> <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="ssm.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean>

PageHelper简单使用说明

Mybatis分页插件 - PageHelperPageHelper是一款最方便使用的分页插件之一。支持各种数据库实现物理分页。开源地址:https://github.com/pagehelper/Mybatis-PageHelper开源中国主页:https://www.oschina.net/p/mybatis_pagehelper依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version></dependency>xml中配置在sqlSessionFactory中加入pageHelper插件的配置<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 传入PageHelper的插件 --> <property name="plugins"> <array> <!-- 传入插件的对象 --> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <props> <prop key="helperDialect">mysql</prop> <prop key="reasonable">true</prop> </props> </property> </bean> </array> </property> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath*:ssm/mapper/*.xml"></property></bean>SpringBoot中配置依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version></dependency>配置pagehelper: # dialect: ① # 分页插件会自动检测当前的数据库链接,自动选择合适的分页方式(可以不设置) helper-dialect: mysql # 上面数据库设置后,下面的设置为true不会改变上面的结果(默认为true) auto-dialect: true page-size-zero: false # ② reasonable: true # ③ # 默认值为 false,该参数对使用 RowBounds 作为分页参数时有效。(一般用不着) offset-as-page-num: false # 默认值为 false,RowBounds是否进行count查询(一般用不着) row-bounds-with-count: false #params: ④ #support-methods-arguments: 和params配合使用,具体可以看下面的讲解 # 默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页 auto-runtime-dialect: false # ⑤ # 与auto-runtime-dialect配合使用 close-conn: true # 用于控制默认不带 count 查询的方法中,是否执行 count 查询,这里设置为true后,total会为-1 default-count: false #dialect-alias: ⑥代码中使用PageHelper.startPage(page, pageSize);//这里使用 PageHelper.offsetPage(page, pageSize);亦可PageInfo pageInfo = new PageInfo<>(testMapper.findAll(Test));返回的PageInfo中可获取总条数及当且页数据pageInfo.getTotal() //总条数pageInfo.getList() //页面数据或使用Page强转亦可Page page=(Page)testMapper.findAll(Test);page.getTotal();//总条数page.getResult();//页面数据从以下源码可以看出来startPage可选参数更加丰富 /** * 开始分页 * * @param pageNum 页码 * @param pageSize 每页显示数量 * @param count 是否进行count查询 * @param reasonable 分页合理化,null时用默认配置 * @param pageSizeZero true且pageSize=0时返回全部结果,false时分页,null时用默认配置 */ public static <E> Page<E> startPage(int pageNum, int pageSize, boolean count, Boolean reasonable, Boolean pageSizeZero) { Page<E> page = new Page<E>(pageNum, pageSize, count); page.setReasonable(reasonable); page.setPageSizeZero(pageSizeZero); //当已经执行过orderBy的时候 Page<E> oldPage = getLocalPage(); if (oldPage != null && oldPage.isOrderByOnly()) { page.setOrderBy(oldPage.getOrderBy()); } setLocalPage(page); return page; } /** * 开始分页 * * @param offset 页码 * @param limit 每页显示数量 * @param count 是否进行count查询 */ public static <E> Page<E> offsetPage(int offset, int limit, boolean count) { Page<E> page = new Page<E>(new int[]{offset, limit}, count); //当已经执行过orderBy的时候 Page<E> oldPage = getLocalPage(); if (oldPage != null && oldPage.isOrderByOnly()) { page.setOrderBy(oldPage.getOrderBy()); } setLocalPage(page); return page; }分页插件可选参数如下:dialect:默认情况下会使用 PageHelper 方式进行分页,如果想要实现自己的分页逻辑,可以实现 Dialect(com.github.pagehelper.Dialect) 接口,然后配置该属性为实现类的全限定名称。下面几个参数都是针对默认 dialect 情况下的参数。使用自定义 dialect 实现时,下面的参数没有任何作用。helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby特别注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012,否则会使用 SqlServer2005 的方式进行分页。你也可以实现 AbstractHelperDialect,然后配置该属性为实现类的全限定名称即可使用自定义的实现方法。offsetAsPageNum:默认值为 false,该参数对使用 RowBounds 作为分页参数时有效。 当该参数设置为 true 时,会将 RowBounds 中的 offset 参数当成 pageNum 使用,可以用页码和页面大小两个参数进行分页。rowBoundsWithCount:默认值为false,该参数对使用 RowBounds 作为分页参数时有效。 当该参数设置为true时,使用 RowBounds 分页会进行 count 查询。pageSizeZero:默认值为 false,当该参数设置为 true 时,如果 pageSize=0 或者 RowBounds.limit = 0 就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是 Page 类型)。reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。params:为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。supportMethodsArguments:支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 使用方法可以参考测试代码中的 com.github.pagehelper.test.basic 包下的 ArgumentsMapTest 和 ArgumentsObjTest。autoRuntimeDialect:默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页 (不支持自动选择sqlserver2012,只能使用sqlserver),用法和注意事项参考下面的场景五。closeConn:默认值为 true。当使用运行时动态数据源或没有设置 helperDialect 属性自动获取数据库类型时,会自动获取一个数据库连接, 通过该属性来设置是否关闭获取的这个连接,默认true关闭,设置为 false 后,不会关闭获取的连接,这个参数的设置要根据自己选择的数据源来决定。重要提示:当 offsetAsPageNum=false 的时候,由于 PageNum 问题,RowBounds查询的时候 reasonable 会强制为 false。使用 PageHelper.startPage 方法不受影响。其他说明可参考:https://blog.csdn.net/qq_38375620/article/details/79467545

Tomcat 9.0.x在idea控制台显示乱码

按网上教程在所有能加VM options地方加上了-Dfile.encoding=UTF-8但是还是不行,后来想到还是应该改tomcat,修改conf/logging.properties文件中UTF-8为GBK就不乱码了,具体改成什么编码自己试试,或者将这行注释试试,修改完配置文件重新启动项目即可。java.util.logging.ConsoleHandler.encoding = UTF-8

Windows10企业版/专业工作站版开启卓越性能模式

卓越性能是一项新的电源计划,仅在 Windows 10 操作系统中可用。从卓越性能(Ultimate Performance)字面上就不难看出其存在的意义。该电源计划选项旨在减少细微的延迟以提高性能,它是允许操作系统根据用户偏好、策略、底层硬件或工作负载快速调整行为的一项设置。如何开启卓越性能?1、卓越性能模式只提供给了企业版和工作站Pro版系统使用,对普通家用系统进行了阉割,但我们也是可以开启的,以管理员身份打开【Windows Powershell】;2、打开之后输入powercfg-duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61并以回车键确认;3、然后就可以在【设置】-【电源和睡眠】页面下方点击打开【其他电源设置】,在打开后的【电源选项】页面中看到【卓越性能】选项;4、在性能上,【卓越性能】模式在【高性能】模式的基础上有小幅度的提升,而且CPU的电压会比高性能模式更低,带来较低的温度和更好的稳定性,有利于内存超频。

Windows系统盘瘦身 mklink软链接的使用

最简单的移动瘦身最简单一种,直接在文档/图片/视频等特殊文件夹鼠标右键属性,然后在位置里将其移动到其他盘。软链接当然今天讲的不是这一种,而是软链接。首先例如:我将C盘微信文件目录WeChat Files移动到D盘如下路径D:\TecentFiles\,然后以下执行命令即可将D盘的实际文件目录创建链接在C盘原路径mklink /j "C:\Users\Administrator\Documents\WeChat Files" "D:\TecentFiles\WeChat Files"这样微信软件读取的还是C盘的文件路径,只是C盘的WeChat Files文件夹现在是软链接,链接到D盘实际目录,软链接是不占储存空间的,因此可以大大减少C盘的储存消耗,当电脑重装系统时也更方便,省得备份C盘这些目录了。相关参数这是windows上的软链接,命令格式:mklink /d(定义参数) C:\java(链接文件) D:\java(原文件),无参数指定:建立文件的符号链接。无参数指定的默认情况下,建立的是文件的符号链接,删除链接文件不会影响源文件,/d:建立目录的符号链接符号链接(symbolic link)/j:建立目录的软链接(联接)(junction)/h:建立文件的硬链接(hard link)安装的软件通过软链接访问实际文件,/d与/j最直观区别:/d创建的链接点进去会跳转到源文件路径,/j则不会,大家可建立目录链接测试下。FreeMove这款软件采用的就是/j方式。

Windows系统盘瘦身 mklink软链接的使用

Jrebel热部署注意事项

Jrebel热部署注意事项激活后可将JRebel设置为offline模式 点一下work offline使其不联网可用(激活移步https://cway.top/post/593.html)相关设置此时虽然安装好了JRebel并成功激活了,但是我们使用JRebel debug的时候,发现修改代码后,热部署不起作用。因为还需要设置两个地方1、设置项目自动编译Setting->Build,Execution…->Compiler中勾选Build project automatically2、设置 compiler.automake.allow.when.app.runningctrl+shift+A 或者 help->find action…打开搜索registry找到 compiler.automake.allow.when.app.running 并✔