Java jdbc Mysql datetime 多个 .0技术
数据库字段为 datetime 类型,Java 中 Entity 使用 String 类型,选出的数据后面会包含 ".0",有人说是由于 MySQL datetime 是包含毫秒的。如下时间格式:
2017-07-12 18:08:02.0
一个不太文雅的解决方案,简单粗暴。
public String getCreateTimeStr() {
if (create_time == null) {
return "";
}
return create_time.substring(0, create_time.length() - 2);
}
不知道那些 Java 高手是怎么做的,欢迎评论。
Spring Boot Jpa 使用原生 SQL 和动态分页技术
使用 Jpa 分页报个错:
Cannot use native queries with dynamic sorting and/or pagination in method public abstract org.springframework.data.domain.Page
Jpa 的原生 SQL 对命名没有严格的要求,如下示例:
package com.lmlphp.test;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.repository.query.Param;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface TestRepository extends JpaRepository<Test, Long> {
@Query(
value="select * from table_name where status=:status \n#pageable\n",
countQuery = "select count(*) from table_name where status=:status",
nativeQuery=true)
Page<Test> findByStatus(@Param("status") int status, Pageable pageable);
}
class 连写提升 CSS 样式优先级技术
本文介绍一些前端技巧,前端高手可以绕道。
平时在写 CSS 的时候,经常的会用到 @media screen 功能,用来兼容不同设备。在实际测试中发现,@media screen 样式必须放在被覆盖的样式后面,否则这个样式是不会生效的。
当今很流行的网页布局,左边菜单区,位置固定,主体内容区域除去菜单区域宽度后居中展示;如果屏幕比较小,对主体内容样式做一些修改,比如与左边菜单区的距离等。如下代码示例:
.sidebar {
position: fixed;
z-index: 10;
top: 100px;
left: 0;
bottom: 0;
padding: 40px 0 30px 30px;
width: 260px;
margin-right: 20px;
overflow-x: hidden;
overflow-y: auto;
}
.content {
position: relative;
padding: 2.2em;
margin: 0 auto;
margin-left: 300px;
}
@media screen and (max-width: 1500px){
.content {
margin-left: 280px;
}
}is marked as crashed and last (automatic?) repair failed技术
MYSQL MyISAM 数据表出现问题,提示 Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed。
修复数据表操作:
- 1. service mysqld stop;
- 2. cd /var/lib/mysql/db_name/
- 3. myisamchk -r table_name.MYI (修复单张数据表), myisamchk -r *.MYI (修复所有数据表)
- 4. mysqlcheck -o -r db_name -p
查看 warning 信息:
解决 Discontiguous selection is not supported技术
chrome 浏览器是不支持不连续的 selection 的,通篇只能有一个,目前估计只有 Firefox 是例外的吧。不支持是能理解的,因为光标也是一个特殊的选区,而光标同一时刻只能有一个。
要解决这个报错,只能在选择之前,移除所有选区。做过编辑器的人应该深有体会吧!
selection.removeAllRanges(); saveSelection.addRange(range);