我想丢弃提交后完成的所有更改<commit-hash>.所以我做了:
git reset --hard <commit-hash>
Run Code Online (Sandbox Code Playgroud)
现在我想对我的遥控器做同样的事情.我怎样才能做到这一点?之后我做了一些提交(并推送)<commit-hash>,我只想丢弃它们.只是在某种程度上出现了严重的错误,我不想让它变得更糟.(
我基本上要退我origin/master来<commit-hash>
我正在尝试运行此处提供的代码
我从他们的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.jar和src文件夹.那么为什么它仍然显示错误,我该如何解决它以及如何运行该示例代码?如果相关,则示例代码适用于RSS阅读器应用程序.
我试图了解如何使用不同的值更新多行,我只是不明白.解决方案无处不在,但对我来说,它看起来很难理解.
例如,三个更新为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条件中存在多个条件,我不完全清楚如何进行查询.任何想法?
我有一个表有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)
JPA insert语句的正确语法是什么?这可能听起来像一个简单的问题但我无法找到答案.
我知道如何从Java代码中完成它,但我正在寻找一种方法,如果创建了数据库,就将对象插入到数据库中.
有任何想法吗?
前言:我前几天想到新应用程序的新数据库结构,并意识到我们需要一种以有效的方式存储历史数据的方法.我想让别人看一看,看看这个结构是否有任何问题.我意识到这种存储数据的方法很可能是之前已经发明的(我几乎可以肯定它已经发明)但是我不知道它是否有一个名字和一些谷歌搜索,我试过没有产生任何东西.
问题:假设您有一个订单表,订单与下订单的客户的客户表相关.在普通的数据库结构中,您可能会遇到以下情况:
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表即可.
任何人都可以从设计的角度看待这种方法的任何问题,或者为什么这是坏的性能原因.请记住,无论我做什么,我都需要确保保留历史数据,以便后续记录更新不会更改历史记录.有没有更好的办法?这是一个已知的想法,有一个名称,或其上的任何文件?
谢谢你的帮助.
更新: 这是我真正想要的一个非常简单的例子.我真正的应用程序将有"订单"与其他表的几个外键.原点/目的地位置信息,客户信息,设施信息,用户信息等.有人建议我有几次可以将信息复制到订单记录中,我已经多次这样做了,但这会产生包含数百列的记录,在这种情况下实际上是不可行的.
我有以下实体:
@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?
提前致谢,
我正在逐行打印数据,并希望它像桌子一样组织.
我最初用过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()来改变它,现在它就像一个魅力.谢谢大家的解决方案.
有时条件会变得非常复杂,因此为了便于阅读,我通常会将它们拆分并为每个组件指定一个有意义的名称.然而,这会使短路评估失败,这可能造成问题.我想出了一个包装器的方法,但在我看来它太冗长了.
有人可以为此提出一个简洁的解决方案吗?
请参阅下面的代码,了解我的意思:
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) 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) 我的输入字符串是
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) 我想知道如何使用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)