我运行一个简单的查询来从MySQL数据库中检索一行.我得到了ResultSet
,我需要从中检索一个LocalDateTime对象.我的数据库表.
CREATE TABLE `some_entity` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`title` varchar(45) NOT NULL,
`text` varchar(255) DEFAULT NULL,
`created_date_time` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
我需要通过id检索一些实体.
String SELECT = "SELECT ID, TITLE, TEXT, CREATED_DATE_TIME FROM some_entity WHERE some_entity.id = ?";
PreparedStatement selectPreparedStatement = connection.prepareStatement(SELECT);
try {
selectPreparedStatement.setLong(1, id);
ResultSet resultSet = selectPreparedStatement.executeQuery();
if (resultSet.next()) {
Long foundId = resultSet.getLong(1);
String title = resultSet.getString(2);
String text = resultSet.getString(3);
LocalDateTime createdDateTime …
Run Code Online (Sandbox Code Playgroud) 我有一台Windows 10 x64计算机。我有Open JDK10。我JAVA_HOME
指向Open JDK 10的位置。我的Path
变量有%JAVA_HOME%/bin;
一部分。
然后我安装了Java8。https ://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Java安装程序更改Path
。
C:\Users\user>set Path
Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;OTHER_STUFF_WITHOUT_JAVA
Run Code Online (Sandbox Code Playgroud)
现在在命令行中java -version
指向Java 8。
C:\Users\user>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)
但是JAVA_HOME
仍然指向Open JDK 10。
C:\Users\user>set java_home
JAVA_HOME=C:\Java\jdk\jdk-10.0.2
Run Code Online (Sandbox Code Playgroud)
我的目标是将Open JDK-10作为默认Java。
这不是Windows计算机上的默认Java路径的重复项, 因为没有答案。
我使用Spring 4.3.3.RELEASE,Hibernate 5.2.2.Final,数据库是MySQL.我想尝试策略= GenerationType.TABLE.据我所知,GenerationType.SEQUENCE 我需要数据库中的序列来生成id.
这是我的实体.
@Entity(name = CommentTable.TABLE_NAME)
public class Comment {
private Integer id;
private String title;
private String message;
private LocalDateTime createdDateTime;
private Issue issue;
public Comment() {
}
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
@Column(name = CommentTable.COLUMN_ID, unique = true, nullable = false)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
//Other getters and setters.
}
Run Code Online (Sandbox Code Playgroud)
Spring注释配置
@Configuration
@ComponentScan("com.ita.training.otm")
@ImportResource("classpath:/config.xml") // XML with DataSource bean
@EnableTransactionManagement
public …
Run Code Online (Sandbox Code Playgroud) 我有员工类:
public class Employee {
private Long id;
private String name;
private String externalId;
public Employee(Long id, String name, String externalId) {
this.id = id;
this.name = name;
this.externalId = externalId;
}
//getters, setter
}
Run Code Online (Sandbox Code Playgroud)
返回员工的员工服务(可以为NULL).
private void performEmployeeProcessing() {
Long employeeId = 2L;
Object o = Optional.ofNullable(employeeService.getById(employeeId))
.orElseGet(Employee::new, 1L, "", "");
System.out.println(o);
}
Run Code Online (Sandbox Code Playgroud)
它说编译错误
Employee :: new,1L,"",""
无法解析构造函数.
我下载了Wildfly(wildfly-13.0.0.Final),然后对其进行配置。我从standalone.bat
JBOSS_HOME目录的bin文件夹开始(我使用Windows平台)。
我转到管理控制台:localhost:8080
->管理控制台。我看到这个
您的WildFly Application Server正在运行。但是,您尚未添加任何用户来访问管理控制台。
要添加新用户,请在WildFly安装的bin文件夹中执行add-user.bat脚本,然后输入所需的信息。
我跑了add-user.bat
,它问我要添加什么样的用户。我需要一个用户具有部署,重新部署应用程序的权限。例如,对于Apache Tomcat,我可以配置tomcat-users.xml
文件并在其中添加用户(/sf/answers/92941131/),因此当我以该用户身份登录控制台时,可以部署应用程序。
我的问题:需要多个节点反向地理编码.我使用nominatim API
我有很多鬃毛节点(约800 000),我想反转所有这些节点的地理编码,以便拥有这样的数据库
节点| 城市| 区| 街道| lat | LON
"lat"和"lon"我已经有了,但是我的大多数节点都没有街道,城市,区域,我想拥有它们.
我提出的一个解决方案如下.我可以发出大约1000个请求然后我的ip被阻止,在一个小时内我可以再次发出1000个请求.我也使用代理,从而从不同的IP地址发出请求.所有这些同时发生,所以我总共可以每天更新30 000 - 40 000个节点.如您所见,要更新我的节点,我需要很多天.
这种解决方案有一些缺点:速度,时间和重载名义服务器.
那么更好的想法是什么?也可以下载已经反转地理编码的特定多边形(具有max lat,lon,min lat,lon的区域)的节点.在这种情况下,我不需要制作多个地理编码请求.
如果您有任何想法,我可以使用其他API,谷歌,Yandex,无论如何,请告诉我.
最好的祝福
我一直在获取The type of the expression must be an array type but it resolved to ArrayList<Double>
arrayList从我的Test类中提取数字.我做了if来确定arrayList是否有一个偶数的值或奇数,因为我可以使用两种不同的方法来确定中位数.但我无法使中位公式起作用.
public class Data {
private ArrayList<Double> sets;
public Data(double[] set) {
this.sets = new ArrayList<Double>();
for (double i : set) {
this.sets.add(i);
}
}
public double getMedian(){
Collections.sort(sets);
double middle = sets.size()/2;
if (sets.size()%2 == 1) {
middle = (sets[sets.size()/2] + sets[sets.size()/2 - 1])/2;
} else {
middle = sets[sets.size() / 2];
}
return middle;
}
Run Code Online (Sandbox Code Playgroud)