小编rad*_*lan的帖子

将毫秒转换为时间戳

我知道可以将毫秒级的Unix时间戳转换为我可以使用的SQL时间戳

SELECT TO_DATE('1970-01-01','YYYY-MM-DD HH24:MI:SS') + 
       (:timestamp / (1000*60*60*24)) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

但是我需要一个时间戳,所以我尝试了

SELECT TO_TIMESTAMP('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SSFF3') + 
       (:timestamp) from DUAL
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

错误:ORA-01841 :(完整)年份必须在-4713和+9999之间,并且不能为0

似乎将1加到时间戳总是将其转换为一天。

我该如何做才能获得实时时间戳?

sql oracle timestamp milliseconds unix-timestamp

5
推荐指数
1
解决办法
2万
查看次数

使用Batik从SVG中使用XPath获取特定元素

我正在尝试通过Batik从SVG文档中找到一些元素。

这是我正在使用的示例SVG文档:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<svg
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   version="1.0"     
   width="400"
   height="300"
   viewBox="0 -100 400 300"
   preserveAspectRatio="none"
   id="svg2">

  <g id="blubb">
   <line x1="0" y1="0" x2="40" y2="120" stroke="red" stroke-width="3"/>
   <text class="hurz" x="50" y="150">HURZ!</text>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

我试图找到所有text带有class属性的元素hurz

这是一个示例代码:

import java.awt.*;
import java.io.*;
import javax.swing.*;
import org.apache.batik.swing.*;
import org.apache.batik.swing.gvt.*;
import org.w3c.dom.*;
import org.w3c.dom.svg.*;
import org.w3c.dom.xpath.*;

public class XPathTest extends JFrame {
  private final JSVGCanvas c= new JSVGCanvas();


  public XPathTest(){
    this.setLayout(new GridLayout());
    this.add(c);

    c.setURI(new File("/tmp/bla.svg").toURI().toString());

    c.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
      @Override
      public void …
Run Code Online (Sandbox Code Playgroud)

java xpath svg batik

5
推荐指数
1
解决办法
2306
查看次数

为什么GenerationType.AUTO在PostgreSQL上没有使用串口?

我有一个使用JPA的应用程序(使用eclipselink).该应用程序是在后台使用Derby数据库开发的.这些表格由JPA自己生成.这是其中一个实体的简单示例:

public class MyEntity implements Serializable {
  @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
  private Long id;

  @Column(nullable=false)
  private String someString;
}
Run Code Online (Sandbox Code Playgroud)

JPA然后创建另一个表SEQUENCE来生成ID.我们现在想切换到PostgreSQL而不是表,SEQUENCE我们想在PostgreSQL中使用真实的序列.这是我们用来创建表的DDL:

CREATE TABLE MYENTITY (
  ID serial PRIMARY KEY NOT NULL,
  SOMESTRING varchar(255) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

但是JPA仍然希望使用该SEQUENCE表(不存在):

Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.          persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: relation "sequence" does not exist
    Position: 8
Error Code: 0
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
    bind => [2 parameters …
Run Code Online (Sandbox Code Playgroud)

java postgresql jpa sequence eclipselink

4
推荐指数
1
解决办法
2626
查看次数

创建 tar 存档时添加目录

我想压缩一些文件(和目录),但想创建一个额外的目录,这些文件应该驻留在其中。

例如对于以下目录结构:

myproject
  + file1
  + file2
  + subdir1
    + file3
Run Code Online (Sandbox Code Playgroud)

我 cd 进入myproject目录并想要创建 tar 存档

tar czf myproject.tgz --place-into-dir myproject-1.0 file2 subdir1
Run Code Online (Sandbox Code Playgroud)

接收包含以下内容的 tar 存档:

myproject-1.0
  + file2
  + subdir1
    + file3
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个选项,比如我上面虚构的“--place-into-dir”。因此,不应将文件直接放入存档中,而应放入仅在 tar 存档中创建的附加目录中。

我想避免首先创建该目录,将所有文件复制到该目录,然后再次删除它们,只是为了创建 tar 存档。

linux bash tar create-directory

4
推荐指数
2
解决办法
3345
查看次数

JPA将java.io.File或java.nio.file.Path对象映射到STRING列

假设以下实体:

@Entity
public class MyEntity {
    @Id
    private Long id;

    private File path;

    private String someString;
}
Run Code Online (Sandbox Code Playgroud)

我想映射到这样的表:

CREATE TABLE (id BIGINT, path VARCHAR, somestring VARCHAR);
Run Code Online (Sandbox Code Playgroud)

问题在于从java.io.File(或java.nio.file.Path)到表示文件路径的简单字符串的映射。JPA可以进行这种映射吗?

当然,我可以定义path为字符串,然后让客户端创建Fileor Path对象。但是,直接在实体中提供这些对象要方便得多。

java mapping jpa sqldatatypes

2
推荐指数
1
解决办法
1897
查看次数

用空格替换区域

是否有一个键击来用另一个字符(例如空格)替换一个区域(一系列字符,无论如何)?我不是在搜索c,因为它会删除现有的字符并让我输入新的字符,这可能是更少或更多的字符.我想用另一个char替换已删除的字符R.

例如我有这个:

one two three four
Run Code Online (Sandbox Code Playgroud)

并希望将其替换为:

one two ----- four
Run Code Online (Sandbox Code Playgroud)

如果光标位于开头three,我想输入一个击键,一个区域(例如w单词结尾)和替换字符(在本例中-),让vim替换该区域中的所有字符给定的替换字符.

vim replace region

2
推荐指数
1
解决办法
107
查看次数

用于 Java 11 的 Spark

Spark 2.x 用于 Java 11 时出现以下错误

线程“main”中的异常 java.lang.IllegalArgumentException:不支持的类文件主要版本 55

Spark 3.0 是否与 Java 11 具有这种兼容性?

是否有其他解决方法可以将 Java 11 与 Spark 一起使用?

apache-spark java-11

2
推荐指数
1
解决办法
5002
查看次数

在Vim中更改矩形文本

Vim中,可以使用I命令一次插入多行文本,如答案Stack Overflow问题如何在vi/Vim中的多行选择开头插入文本?.但是,这仅适用于实际插入.如果我想同时删除一些字符,这不起作用.

例如,我想改变

000 one
000 two
000 three
000 four
Run Code Online (Sandbox Code Playgroud)

111 one
111 two
111 three
000 four
Run Code Online (Sandbox Code Playgroud)

我会这样做,通过调用^V3ggllx从前三行删除000然后^V3ggI111^[将111插入相同的位置,这对我来说似乎很尴尬.(上面的意思是,进入可视块状模式,在前三行中标记所有零并删除它们.然后再次进入可视块状模式,标记前三行的开始,进入多行插入模式,插入111并退出Esc.)

必须有更好的方法来做到这一点.最烦人的事情是我必须在删除零后再次选择该区域.如果在删除后仍然选择了该区域,那就没问题了.此外,如果可以在多个插入模式下删除字符,也可以.但是如果我试试这个,只会改变第一行.

vim insert block

1
推荐指数
1
解决办法
511
查看次数