小编use*_*855的帖子

字符串到joda LocalDate,格式为"dd-MMM-yy"

我正在使用JAXB和joda时间2.2.将数据从Mysql备份到XML并将其还原.在我的表中,我有一个Date属性,格式为"16-Mar-05".我成功地将其存储在XML中.但是当我想从XML中读取它并将其放回Mysql表中时,我无法获得正确的格式.

这是我的XMLAdapter类,这里的unmarshal方法输入String是"16-Mar-05",但我不能以"16-Mar-05"的格式获取localDate变量,虽然我将模式设置为"dd- MMM-YY".我发布了我尝试过的所有选项,如何在16d-05-05格式的"dd-MMM-yy"中获取我的localDate?

谢谢!!

public class DateAdapter extends XmlAdapter<String, LocalDate> {

// the desired format
private String pattern = "dd-MMM-yy";

@Override
public String marshal(LocalDate date) throws Exception {
    //return new SimpleDateFormat(pattern).format(date);
    return date.toString("dd-MMM-yy");
}

@Override
public LocalDate unmarshal(String date) throws Exception {
    if (date == null) {
        return null;
    } else {
        //first way
        final DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MMM-yy");
        final LocalDate localDate2 = dtf.parseLocalDate(date);

        //second way
        LocalDate localDate3 = LocalDate.parse(date,DateTimeFormat.forPattern("dd-MMM-yy"));

        //third way
        DateTimeFormatter FORMATTER = DateTimeFormat.forPattern("dd-MMM-yy");
        DateTime dateTime = FORMATTER.parseDateTime(date); …
Run Code Online (Sandbox Code Playgroud)

java mysql jaxb jodatime

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

Oracle MERGE 和准备好的语句

我有一个备份实用程序,用于恢复部分。这是我的桌子:

CREATE TABLE "SBOOKS"."DEV_CORPUS" 
   (    "CORPUSID" NUMBER(9,0) NOT NULL ENABLE, 
    "CORPUS_NAME" VARCHAR2(768 BYTE) NOT NULL ENABLE, 
    "CORPUSLASTSYNC" DATE, 
     PRIMARY KEY ("CORPUSID")
Run Code Online (Sandbox Code Playgroud)

在恢复类中,我想在表中查找主键,如果存在则更新该行,如果不存在则插入一行。
现在的问题是我需要从类传递参数(它们不存在于任何表中),我该怎么做?你的建议是什么?使用准备好的语句还是什么?如何?请给出示例或来源链接。

更多信息:我正在使用 oracle sql Developer 和 java netbeans。

编辑: 我正在命令窗口中尝试此操作:

  MERGE INTO dev_corpus a  
  USING (SELECT corpusid, corpus_name, corpusdesc, corpusimageids, rocf1, rocf2, rocf3, rocc1, rocc2, rocc3, corpusactive, corpusrunfrequency, corpuslastrun, corpuslastsync, rocsettingid, corpusaffinity, corpusterms, corpusdomain FROM dual WHERE corpusId = 1000156 AND corpus_name = 'sahar' AND corpusdesc = 'sahaaaaa' AND corpusimageids IS NULL AND rocf1 IS NULL AND rocf2 …
Run Code Online (Sandbox Code Playgroud)

java mysql oracle prepared-statement insert-update

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