小编Adr*_*ter的帖子

将远程重置为某个提交

我想丢弃提交后完成的所有更改<commit-hash>.所以我做了:

git reset --hard <commit-hash>
Run Code Online (Sandbox Code Playgroud)

现在我想对我的遥控器做同样的事情.我怎样才能做到这一点?之后我做了一些提交(并推送)<commit-hash>,我只想丢弃它们.只是在某种程度上出现了严重的错误,我不想让它变得更糟.(

我基本上要退我origin/master<commit-hash>

git

638
推荐指数
8
解决办法
46万
查看次数

导入android.support无法解析

我正在尝试运行此处提供的代码
我从他们的Github下载代码并导入到Android SDK中,但它在行中显示错误

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;  
Run Code Online (Sandbox Code Playgroud)

在多个文件中.但是,如果我检查Android SDK Manager,则会同时安装Extras文件夹Android Support Library以及Android Support RepositoryExtras文件夹.我还可以在目录中看到support文件夹及其内容SDK_INSTALL\sdk\extras\android\support.它还有v4文件夹,其中还包含android-support-v4.jarsrc文件夹.那么为什么它仍然显示错误,我该如何解决它以及如何运行该示例代码?如果相关,则示例代码适用于RSS阅读器应用程序.

java android packages rss-reader

123
推荐指数
3
解决办法
16万
查看次数

MySQL - 在一个查询中更新具有不同值的多个行

我试图了解如何使用不同的值更新多行,我只是不明白.解决方案无处不在,但对我来说,它看起来很难理解.

例如,三个更新为1个查询:

UPDATE table_users
SET cod_user = '622057'
    , date = '12082014'
WHERE user_rol = 'student'
    AND cod_office = '17389551'; 

UPDATE table_users
SET cod_user = '2913659'
    , date = '12082014'
WHERE user_rol = 'assistant'
    AND cod_office = '17389551'; 

UPDATE table_users
SET cod_user = '6160230'
    , date = '12082014'
WHERE user_rol = 'admin'
    AND cod_office = '17389551'; 
Run Code Online (Sandbox Code Playgroud)

了一个例子,但我真的不明白如何进行查询.即:

UPDATE table_to_update
SET cod_user= IF(cod_office = '17389551','622057','2913659','6160230')
    ,date = IF(cod_office = '17389551','12082014')
WHERE ?? IN (??) ;
Run Code Online (Sandbox Code Playgroud)

如果在WHERE和IF条件中存在多个条件,我不完全清楚如何进行查询.任何想法?

mysql sql sql-update

118
推荐指数
5
解决办法
23万
查看次数

PostgreSQL列'foo'不存在

我有一个表有20个整数列和1个文本列名为'foo'

如果我运行查询:

SELECT * from table_name where foo is NULL
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ERROR:  column "foo" does not exist
Run Code Online (Sandbox Code Playgroud)

我已经检查过自己的专栏确实存在.如果我这样做:

SELECT * from table_name where count is NULL
Run Code Online (Sandbox Code Playgroud)

结果输出显示'foo'作为列之一....我猜我必须在查询中做一些特殊的事情,因为foo是一个文本列...

感谢您的帮助(POSTGRESQL 8.3)

sql database postgresql

45
推荐指数
6
解决办法
10万
查看次数

JPA插入声明

JPA insert语句的正确语法是什么?这可能听起来像一个简单的问题但我无法找到答案.

我知道如何从Java代码中完成它,但我正在寻找一种方法,如果创建了数据库,就将对象插入到数据库中.

有任何想法吗?

jpa

31
推荐指数
4
解决办法
7万
查看次数

存储历史数据的数据库结构

前言:我前几天想到新应用程序的新数据库结构,并意识到我们需要一种以有效的方式存储历史数据的方法.我想让别人看一看,看看这个结构是否有任何问题.我意识到这种存储数据的方法很可能是之前已经发明的(我几乎可以肯定它已经发明)但是我不知道它是否有一个名字和一些谷歌搜索,我试过没有产生任何东西.

问题:假设您有一个订单表,订单与下订单的客户的客户表相关.在普通的数据库结构中,您可能会遇到以下情况:

orders
------
orderID
customerID


customers
---------
customerID
address
address2
city
state
zip
Run Code Online (Sandbox Code Playgroud)

非常简单,orderID有一个customerID的外键,它是customer表的主键.但是,如果我们要在订单表上运行报表,我们将把客户表加入订单表,这将返回该客户ID的当前记录.如果下订单时,客户地址不同并且随后更改了.现在,我们的订单不再反映订单下达时客户地址的历史记录.基本上,通过更改客户记录,我们只是更改了该客户的所有历史记录.

现在有几种解决方法,其中一种方法是在创建订单时复制记录.我想出的是我认为这样做的一种更简单的方法,可能更优雅一点,并且可以随时更改记录.

如果我做了这样的结构,那该怎么办:

orders
------
orderID
customerID
customerHistoryID


customers
---------
customerID
customerHistoryID


customerHistory
--------
customerHistoryID
customerID
address
address2
city
state
zip
updatedBy
updatedOn
Run Code Online (Sandbox Code Playgroud)

请原谅格式,但我认为你可以看到这个想法.基本上,我们的想法是,无论何时更改,插入或更新客户,customerHistoryID都会递增,customers表会使​​用最新的customerHistoryID进行更新.订单表现在不仅指向customerID(允许您查看客户记录的所有修订),还指向customerHistoryID,它指向记录的特定修订.现在,订单反映了订单创建时的数据状态.

通过将updatedby和updatedon列添加到customerHistory表,您还可以看到数据的"审核日志",以便您可以看到谁进行了更改以及何时进行更改.

一个潜在的缺点可能是删除,但我并不担心这种需要,因为任何事情都不应该被删除.但即便如此,使用activeFlag或类似的东西可以实现相同的效果,具体取决于数据的域.

我的想法是所有表都会使用这种结构.无论何时检索历史数据,都将使用customerHistoryID将其连接到历史表,以显示该特定订单的数据状态.

检索客户列表很简单,只需加入customerHistoryID上的customer表即可.

任何人都可以从设计的角度看待这种方法的任何问题,或者为什么这是坏的性能原因.请记住,无论我做什么,我都需要确保保留历史数据,以便后续记录更新不会更改历史记录.有没有更好的办法?这是一个已知的想法,有一个名称,或其上的任何文件?

谢谢你的帮助.

更新: 这是我真正想要的一个非常简单的例子.我真正的应用程序将有"订单"与其他表的几个外键.原点/目的地位置信息,客户信息,设施信息,用户信息等.有人建议我有几次可以将信息复制到订单记录中,我已经多次这样做了,但这会产生包含数百列的记录,在这种情况下实际上是不可行的.

sql database database-design

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

具有接口属性的JPA实体,是否可能?

我有以下实体:

@Entity
public class TestCaseStep implements JPAEntity<Integer> {

        ...

    @Column(name="STEP_NUMBER")
    private Integer stepNumber;

    @Enumerated(EnumType.STRING)
    @Column(name="ACTION")
    private Action action;

    **@ManyToOne
    @JoinColumn(name="connector")
    private ScriptItem connector;**
Run Code Online (Sandbox Code Playgroud)

我的属性ScriptItem是另外3个类的接口.是否可以配置JPA以在运行时执行中设置正确的类ID?

其他资源:

public interface ScriptItem {

    String getValue();
    ScriptItemType getType();
}

@Entity
@Table(name="DAT_FEED_XML")
public class FeedXml implements JPAEntity<Integer>, ScriptItem {
    ...
}

@Entity
@Table(name="DAT_DB_STMT")
public class DbStatement implements JPAEntity<Integer>, ScriptItem {
       ...
}
Run Code Online (Sandbox Code Playgroud)

我应该使用哪些注释让JAP理解我想要保存3个类之一的id?

提前致谢,

java hibernate jpa-2.0

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

如何在Java中使用String.format()来复制选项卡"\ t"?

我正在逐行打印数据,并希望它像桌子一样组织.

我最初用过firstName + ", " + lastName + "\t" + phoneNumber.

但对于一些较大的名字,电话号码被推离了对齐

我正在尝试使用String.format()来实现此效果.谁能告诉我要使用的格式语法?

我试过了String.format("%s, %s, %20s", firstName, lastName, phoneNumber),但这不是我想要的.我希望它看起来像这样:

约翰,史密斯123456789

Bob,Madison 123456789

查尔斯,理查兹123456789

编辑:这些答案似乎适用于System.out.println().但我需要它为JTextArea工作.我正在使用textArea.setText()

解决了这个问题.默认情况下,JTextArea不使用等宽字体.我使用setFont()来改变它,现在它就像一个魅力.谢谢大家的解决方案.

java format syntax tabs

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

如何分割复杂的条件并保持短路评估?

有时条件会变得非常复杂,因此为了便于阅读,我通常会将它们拆分并为每个组件指定一个有意义的名称.然而,这会使短路评估失败,这可能造成问题.我想出了一个包装器的方法,但在我看来它太冗长了.

有人可以为此提出一个简洁的解决方案吗?

请参阅下面的代码,了解我的意思:

public class BooleanEvaluator {

    // problem: complex boolean expression, hard to read
    public static void main1(String[] args) {

        if (args != null && args.length == 2 && !args[0].equals(args[1])) {
            System.out.println("Args are ok");
        }
    }

    // solution: simplified by splitting up and using meaningful names
    // problem: no short circuit evaluation
    public static void main2(String[] args) {

        boolean argsNotNull = args != null;
        boolean argsLengthOk = args.length == 2;
        boolean argsAreNotEqual = !args[0].equals(args[1]);

        if (argsNotNull && argsLengthOk && …
Run Code Online (Sandbox Code Playgroud)

java

12
推荐指数
3
解决办法
3505
查看次数

在java中转换日期时出错

String date = jsonobject.getString("needbydate");
DateFormat df = new SimpleDateFormat("MMM/dd/yyyy");
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
Date startDate = sdf.parse(date);
String needbydate = df.format(startDate).toString()+"";
Run Code Online (Sandbox Code Playgroud)

怎么了::

  • 在开始时

date=2014-12-17T21:37:00+00:00

  • 在末尾

needbydate= 2014年12月18日

17改为18....我在转换中做错了什么


编辑:

            String date=jsonobject.getString("needbydate");
            DateFormat df = new SimpleDateFormat("MMM/dd/yyyy",Locale.ENGLISH);
            DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss",Locale.ENGLISH);
            sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
            Date startDate;
            startDate = sdf.parse(date);
            needbydate = df.format(startDate).toString()+"";
Run Code Online (Sandbox Code Playgroud)

java android

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

Java使用组合拆分字符串

我的输入字符串是

element1-element2-element3-element4a|element4b-element5-
Run Code Online (Sandbox Code Playgroud)

预期的产出是

element1-element2-element3-element4a-element5-
element1-element2-element3-element4b-element5-
Run Code Online (Sandbox Code Playgroud)

因此短划线( - )是分隔符,管道(|)表示位置的两个替代元素.

我能够为包含单个管道的输入生成组合:

ArrayList<String> finalInput = new ArrayList<String>();
String Input = getInputPath();
StringBuilder TempInput = new StringBuilder();
if(Input.contains("|")) {
    String[] splits = Input.split("\\|", 2);
    TempInput.append(splits[0]+"-"+splits[1].split("-", 2)[1]);
    finalInput.add(TempInput.toString());
    TempInput = new StringBuilder();
    String[] splits1 = new StringBuilder(Input).reverse().toString().split("\\|", 2);
    finalInput.add(TempInput.append(splits1[0]+"-"+splits1[1].split("-", 2)[1]).reverse().toString());              
}
Run Code Online (Sandbox Code Playgroud)

但是如果有多个管道符号,则此逻辑会失败.

  • 如何仅在最后一次出现时拆分字符串?

有没有有效的方法来使用拆分字符串与组合?

输入:

element1-element2-element3-element4a|element4b-element5-element6a|element6b
Run Code Online (Sandbox Code Playgroud)

输出:

element1-element2-element3-element4a-element5-element6a
element1-element2-element3-element4b-element5-element6a
element1-element2-element3-element4a-element5-element6b
element1-element2-element3-element4b-element5-element6b
Run Code Online (Sandbox Code Playgroud)

java

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

如何使用foreach迭代混合列表?

我想知道如何使用foreach迭代具有混合内容的List.请参阅下面的示例代码.

public class GenericsForeach {

    class A {
        void methodA() {
            System.out.println(getClass().getSimpleName() + ": A");
        }
    }

    class B extends A {
        void methodB() {
            System.out.println(getClass().getSimpleName() + ": B");
        }
    }

    void test() {

        List<A> listOfA = new ArrayList<A>();
        listOfA.add(new A());

        List<B> listOfB = new ArrayList<B>();
        listOfB.add(new B());

        List<? super A> mixed = new ArrayList<A>();
        mixed.addAll(listOfA);
        mixed.addAll(listOfB);

        Iterator<? super A> it = mixed.iterator();
        while (it.hasNext()) {
            A item = (A) it.next();
            item.methodA();
        }

        // XXX: this does not work
        // …
Run Code Online (Sandbox Code Playgroud)

java generics foreach

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