我在java中使用查询在postgresql DB中插入.
当我手动追加参数时,我正在使用的查询工作正常,但是当我通过预准备语句给出参数时,它给出的错误为:
错误:语法错误在"$ 1"或附近
我使用以下代码:
String InsertInTi="INSERT INTO ssr_timeline_test("
+"ti_id, module_id, module_name, updated_date, tie_updates,"
+"additional_options, co_count, ca_type)"
+"(?,?,?,current_timestamp,?,?,?,?)";
pres = con.prepareStatement(InsertInTi);
pres.setInt(1,tId);
pres.setString(2,moduleId);
pres.setString(3,moduleName);
pres.setString(4,ti.toJSONString());
pres.setString(5,additionalOption.toJSONString());
pres.setInt(6,coCount);
pres.setString(7,caType);
System.out.println("Query : "+pres );
pres.execute();
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出相同的解决方案吗?
我还检查了传递给参数的值的类型.这些是:
TimInsert(int tId , String moduleId, String moduleName , JSONObject ti, JSONObject additionalOption , int coCount , String caType)
Run Code Online (Sandbox Code Playgroud) 在Java 8项目中,我可以这样解析日期:
LocalDate.parse(
newDateString,
DateTimeFormatter.ofPattern(expectedDateFormat)
)
.format(
DateTimeFormatter.ofPattern(expectedDBDateFormat)
);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我有一个Java 6的项目,LocalDate并DateTimeFormatter没有为Java 6的定义.
如何在Java 6项目中解析日期?
我有一个在java 5.0下开发的模块
package mypack;
class MessageParser {
public MessageParser(String s) {
......
}
}
Run Code Online (Sandbox Code Playgroud)
我有另一个在java 6.0下开发的模块
import mypack;
......
String str = someString;
MessageParser parser = new MessageParser(str);
......
Run Code Online (Sandbox Code Playgroud)
但我收到错误"找不到符号构造函数MessageParser(java.lang.String)"
BTW:我使用的IDE是intellij的想法
谁能告诉我为什么以及如何让它发挥作用?
是)我有的:
我有一个文字 "Hi {0}, my name is {1}."
我有一个 List<String> names = Arrays.asList("Peter", "Josh");
我试图让彼得在{0}和Josh哪里有{1}.
我想要的是:
Hi Peter, my name is Josh.
Run Code Online (Sandbox Code Playgroud)
有什么想法我怎么能这样做?
我有一个java应用程序,我希望我的Windows批处理文件执行.我可以知道为什么以下批处理文件代码不起作用以及我如何纠正它们?在继续检查64位Java之前,脚本应首先检查32位Java.
我还希望我的批处理文件能够处理Java 6及更高版本,并且包含JRE或JDK环境.我如何修改我的批处理文件来处理它们.
批处理脚本:
@ECHO OFF
IF EXIST "C:\Program Files (x86)\Java" (
start C:\Program Files (x86)\Java\jre7\bin\java -jar %~dp0\JavaShop.jar
) ELSE (
IF EXIST "C:\Program Files\Java" C:\Program Files\Java\jre6\bin\java -jar %~dp0\JavaShop.jar
ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)
Run Code Online (Sandbox Code Playgroud) 我正在做一个实验室,从事健身功能.问题是我正在制作一个SmallChange()函数来执行它所说的内容,令人烦恼的是它似乎更新了你给它的变量,而它不应该.
这是完整课程的副本:https://gist.github.com/1710367
第38行是问题.
以下是功能.当我把它solution作为输入时solution,它会根据它做出的小改动进行更新,但我无法弄清楚如何或为什么.
谁知道我哪里出错了?它开始伤害我的大脑.
// Edits either the angle or velocity of our solution
// by a small amount (about 1% of the diffrence between max and min)
public static Double[] SmallChange(Double[] sol) {
// Pick a 0 or 1
switch (r.nextInt(2)) {
case 1: // Changing the angle
// The angle change amount
Double angle = (angleLimits[1] - angleLimits[0]) * 0.01;
// Make the change, either + or -
if (r.nextInt(2) …Run Code Online (Sandbox Code Playgroud) 这适用于Java 1.7,但不适用于1.6.(这是使用Guava 14.0.1).
Cache<TokenCacheKey, CachedToken>tokenCache = CacheBuilder.<TokenCacheKey, CachedToken>from(PARAM.tokenCacheConfig).build();
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出可以在1.6中编译的替代方案吗?
我正在从Java 6迁移到Java 8,并注意到Comparator接口特有的一些东西.对此的任何见解都会非常有帮助.
当我切换到Java 8时,对象的顺序在"compare"方法内切换,列表排序失败.我回到java 6,它工作得很好.这是一个测试用例,使用Java 8失败了,并且使用了Java 6.
public class ComparitorTest {
@Test
public void comparatorTest(){
Record record1 = new Record("First", false);
Record record2 = new Record("Second", true);
List<Record> list = new ArrayList<Record>();
list.add(record1);
list.add(record2);
final Comparator<Object> recordComparator = new Comparator<Object>()
{
public int compare( Object o1, Object o2 )
{
Record r1 = (Record) o1;
Record r2 = (Record) o2;
Boolean isReadonly_R1 = r1.getIsReadOnly();
Boolean isReadOnly_R2 = r2.getIsReadOnly();
if( isReadonly_R1.equals( Boolean.TRUE ) )
{
return 0;
}
else
{ …Run Code Online (Sandbox Code Playgroud) 我有一个在Java 6上运行的旧版应用程序。但是,由于某些安全因素,我们需要升级到TLS 1.2。为此,我尝试了以下代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLParameters;
public class TlsCheck {
/**
* test whether this client can connect to TLS v1.2 or not
*/
public static boolean isSuccessfulTLS12connection(){
try{
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, null, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
URL url = new URL("https://tlstest.paypal.com");
HttpsURLConnection httpsConnection = (HttpsURLConnection)url.openConnection();
httpsConnection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(httpsConnection.getInputStream()));
StringBuilder body = new StringBuilder();
while(reader.ready()){
body.append(reader.readLine());
} …Run Code Online (Sandbox Code Playgroud) 我怎样才能将它转换为java 1.6?方法.stream()在java 1.6中无法使用.
final Optional<Entry<String, String>> mapping = cfg.getTypeMapping()
.entrySet()
.stream()
.filter(e -> e.getKey().startsWith(jsonType + "|"))
.findFirst();
Run Code Online (Sandbox Code Playgroud) java ×10
java-6 ×10
java-8 ×2
batch-file ×1
comparator ×1
date-parsing ×1
eclipse ×1
generics ×1
guava ×1
java-5 ×1
java-7 ×1
java-stream ×1
java-time ×1
jdbc ×1
json ×1
postgresql ×1
replace ×1
sorting ×1
ssl ×1
string ×1
tls1.2 ×1
version ×1
windows ×1