我试图使用spring rest API并将结果存储到一个临时表中。以下是我的尝试。我对java和spring很陌生,请原谅我的错误。我的staging表名为“greetingsstaging”。我是spring开发的新手,请帮助理解这个问题。我正在使用JPA和spring。
这是主要应用程序。
package com.javatechie.spring.api;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import com.javatechie.spring.api.entty.Greetings;
import com.javatechie.spring.api.service.Greet;
import com.javatechie.spring.api.service.GreetInterface;
import com.javatechie.spring.api.service.GreetingsService;
@SpringBootApplication
public class GreetingsConsumerApplication {
private static RestTemplate rs = new RestTemplate();
private static String baseUrl = "http://localhost:8080/api/Greetings";
private static GreetInterface greetInterface;
@Autowired
public GreetingsConsumerApplication(GreetInterface theGreetInterface) {
greetInterface = theGreetInterface;
}
public static void main(String[] args) {
SpringApplication.run(GreetingsConsumerApplication.class, args);
ResponseEntity<List<GreetingsService>> response = rs.exchange(baseUrl, HttpMethod.GET, null,
new ParameterizedTypeReference<List<GreetingsService>>() {
});
List<GreetingsService> gs = response.getBody();
for (GreetingsService g : gs) {
Greetings greetings = new Greetings(g.getId(), g.getName(), g.getAge(), g.getAddress());
System.out.println("Id : " + greetings.getId() + " name : " + greetings.getName() + " Age : "
+ greetings.getAge() + " Address : " + greetings.getAddress());
greetInterface.save(greetings);
}
}
}
这是我的服务。
package com.javatechie.spring.api.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.javatechie.spring.api.entty.Greetings;
import com.javatechie.spring.api.repository.GreetingsRepository;
@Service
public class Greet implements GreetInterface{
private GreetingsRepository repo;
@Autowired
public Greet(GreetingsRepository repo) {
super();
this.repo = repo;
}
@Override
public void save(Greetings obj) {
repo.save(obj);
}
}
这是存储库界面。
package com.javatechie.spring.api.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.javatechie.spring.api.entty.Greetings;
@Repository
public interface GreetingsRepository extends JpaRepository<Greetings, Integer> {
}
这是我的pojo课。
package com.javatechie.spring.api.entty;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="greetingsstaging")
public class Greetings {
int id;
String name;
int age;
String address;
public Greetings(int id, String name, int age, String address) {
super();
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Greetings [id=" + id + ", name=" + name + ", age=" + age + ", address=" + address + "]";
}
}
我收到以下例外。
在类路径资源中定义名称为“请求映射处理程序适配器”的 Bean 时出错 [组织/Spring框架/引导/自动配置/web/Servlet/WebMvc自动配置$EnableWebMvc配置.class]:通过方法“请求映射处理程序适配器”参数 1 表示的未满足的依赖关系;嵌套的异常是组织.springframework.bean.factory.Bean创建异常:在类路径资源中定义名称为“mvc转换服务”的bean时出错 [组织/Spring框架/引导/自动配置/web/servlet/WebMvc自动配置$启用WebMvc配置.class]:通过工厂方法进行Bean实例化失败;嵌套异常是组织.Spring框架.豆.豆子实例化异常: 无法实例化 [组织.Spring框架.格式.支持.格式转换服务]: 工厂方法 'mvc转换服务' 抛出异常;嵌套的异常是组织.springframework.bean.factory.Bean创建异常:创建名称为“问候存储库”的bean时出错,该名称为“问候存储库”,定义于com.javatechie.spring.api.repository.问候语中定义的存储库在Jpa存储库注册表上声明@EnableJpaRepositories中定义注册表配置:在设置bean属性“映射上下文”时无法解析对bean“jpa映射上下文”的引用;嵌套的异常是组织.Spring框架.豆.工厂.豆创建异常: 创建名称为“jpa映射上下文”的 Bean 时出错: 调用初始化方法失败;嵌套的异常是 org.Hibernate.注释异常: 没有为实体指定标识符:
我的主要想法是将 API 的结果存储到临时表中。
您缺少Greetings类的@Id注释。每个JPA实体必须具有唯一标识它的主键。
@Entity
@Table(name="greetingsstaging")
public class Greetings {
@Id
int id;
}
问题内容: 我在MySQL中用一个表创建了一个数据库: 我尝试使用Java插入记录: 输出似乎成功返回: 但是,当我从MySQL中选择时,插入的记录为空: 为什么插入空白记录? 问题答案: 不,这是行不通的(不适用于真实数据): 更改为: 使用该sql创建一个PreparedStatment,并使用索引插入值:
问题内容: 设想 我需要每天通过电子表格(唯一可用的选项)更新SQL 2008数据库。该格式非常基本,但是可能有数百万条记录。Column1和Column3将具有许多预定义的重复值,这些值已经提取到单独的表中。 电子表格样本 数据库设置 我的数据库设置了三个单独的表: 问题 如何编写SQL来插入与查找表中的信息匹配的记录?我该怎么办: 对此: 问题答案: 您可以尝试这样的事情: 没有任何容错功能,
问题内容: 我不知道为什么我对此查询感到困惑。 我有两个表:带有记录和带有记录。两个表都需要包含相同的数据,但是存在一些不匹配的情况。 我需要编写一个mysql查询以插入从到的丢失记录。 最后,两者和应该相同。 我不想先截断所有条目,然后再从另一个表中插入。因此,请提供任何帮助。 谢谢你。 问题答案: 也可以使用它。这将避免像John Woo的回答那样避免子查询的开销(当系统可能为外部查询的 每条
问题内容: 我在Python中有一个JSON对象。我正在使用Python DB-API和SimpleJson。我正在尝试将json插入MySQL表中。 目前出现错误,我相信这是由于JSON对象中的单引号引起的。 如何使用Python将JSON对象插入MySQL? 这是我收到的错误消息: 另一个错误供参考 这是我正在使用http://pastebin.com/q5QSfYLa的代码的链接 问题答案:
OrientDB是一个NoSQL数据库,可以存储文档和面向图形的数据。 NoSQL数据库不包含任何表,那么要如何将数据作为记录插入?在这里,您可以以类,属性,顶点和边的形式查看表数据,类表就像表,属性就像表中的文件。 可以在OrientDB中使用模式定义所有这些实体。 属性数据可以被插入到一个类中。 插入命令在数据库模式中创建一条新记录。 记录可以无模式或遵循一些指定的规则。 以下语句是“插入记录
问题内容: 我想在表中添加可变数量的记录(天) 我已经看到了一个很好的解决方案: 但是可悲的是,这在UDF中不起作用(因为#temp和SET ROWCOUNT)。知道如何实现吗? 目前,我正在使用WHILE和表变量来完成此操作,但是就性能而言,这并不是一个好的解决方案。 问题答案: 这是我正在使用的方法,并且对于我的目的和使用SQL 2000来说效果最佳。因为就我而言,它位于UDF中,所以我不能使