`
文章列表
关于thymeleaf th:replace th:include th:insert 的区别 th:insert   :保留自己的主标签,保留th:fragment的主标签。 th:replace :不要自己的主标签,保留th:fragment的主标签。 th:include :保留自己的主标签,不要th:fragment的主标签。(官方3.0后不推荐)     需要替换的片段内容: <footer th:fragment="copy"> <script type="text/javascript" th:src ...
这里讲一下thymeleaf常用的工具对象,其实和java中对应的方法大同小异。 (1)format时间格式化,支持集合转换 ${#dates.format(date, 'yyyy-MM-dd hh:mm:ss')} ${#dates.arrayFormat(datesArray, 'yyyy-MM-dd hh:mm:ss')} ${#dates.listFormat(datesList, 'yyyy-MM-dd hh:mm:ss')} ${#dates.setFormat(datesSet, 'yyyy-MM-dd hh:mm:ss')}  (2)创建时间 ${#dates.c ...
本质上这些个都是通配符,没啥区别,只不过是编码时的一种约定俗成的东西。比如上述代码中的 T ,我们可以换成 A-Z 之间的任何一个 字母都可以,并不会影响程序的正常运行,但是如果换成其他的字母代替 T ,在可读性上可能会弱一些。通常情况下,T,E,K,V,?是这样约定的: ?表示不确定的 java 类型 T (type) 表示具体的一个 java 类型 K V (key value) 分别代表 java 键值中的 Key Value
delete,drop,truncate 都有删除表的作用,区别在于: 1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。 2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。 3、执行的速度上,drop>truncate>delete, ...
1.count()函数是用来统计表中记录的一个函数,返回匹配条件的行数。   2.count()语法: (1)count(*)---包括所有列,返回表中的记录数,相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录。 (2)count(1)---忽略所有列,1表示一个固定值,也可以用count(2)、count(3)代替,在统计结果的时候,不会忽略列值为NULL的记录。 (3)count(列名)---只包括列名指定列,返回指定列的记录数,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。 (4)count(disti ...
先上概念:    超键: 在关系中能唯一标识元组的属性集称为关系模式的超键;    候选键:不含有多余属性的超键称为候选键,也就是在候选键中在删除属性就不是键了;    主键:用户选作元组标识的候选键称为主键,一般不做说明,键是指主键;    外键:相对于两个表或多张表来说的。如果表R中属性K是其他表的主键,那么K在表R中称为外键。 ========================================================
在MySQL 中char 和 varchar 都是存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型。 char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,mysql就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)。 char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型。 定长的char的优势: 一,存储很短的信息,比 ...
* th:action    <form id="login" th:action="@{/login}">......</form>    定义后台控制器的路径 * th:each        循环List集合: <tr th:each="user,iterStat : ${list}"> <td th:text="${user.userName}">Onions</td> </tr> iterStat:下标                  ...
白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。 黑盒测试着重测试软件功能。 黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。 白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是 ...
发现一个不错的博客: 上:https://blog.csdn.net/starexplode/article/details/80469079 中:https://blog.csdn.net/starexplode/article/details/80499255 下:https://blog.csdn.net/starexplode/article/details/80567758
Java泛型中的标记符含义: —————————————————————————————————————— E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型) ? -  表示不确定的java类型 S、U、V  - 2nd、3rd、4th types Object跟这些标记符代表的java类型有啥区别呢?  Object是所有类的根类,任何类的对象都可以设置给该Object引用变量,使用的时候可能需要类型强制转换,但是用使用了泛型T、 ...
1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-actuator 帮助监控和管理应用。 3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 4)spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。 5)spring-boot-starter-artemis 通过Apache Ar ...
Java中的标记接口(Marker Interface),又称标签接口(Tag Interface),具体是不包含任何方法的接口。 在Java中很容易找到标记接口的例子,比如JDK中的Serialzable接口就是一个标记接口。 首先要明确的是,标记接口并不是Java语言独 ...

算法记录

算法地址:https://github.com/labuladong/fucking-algorithm
一、注解(annotations)列表 @SpringBootApplication: 包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。 @Configuration 等同于spring的XML配置文件;使用Java代码可 ...
Global site tag (gtag.js) - Google Analytics