日志:
2021-05-09 14:04:19.356错误22211---[nio-8080-exec-2]O.A.C.C.C.[.[.[/].[dispatcherServlet]:servlet.Service()对于路径[]上下文中的servlet[dispatcherServlet]抛出异常[请求处理失败;嵌套异常为java.lang.NullPointerException:无法调用“com.dzeru.springLoginformandoAuth2tutorial.repos.postrepo.save(Object)”,原因是“this.postrepo”为null]
package com.dzeru.springloginformandoauth2tutorial.controllers;
import com.dzeru.springloginformandoauth2tutorial.entities.Post;
import com.dzeru.springloginformandoauth2tutorial.repos.PostRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
@Controller
public class PostMakerController {
@Autowired
private PostRepo postRepo;
public static List<Post> posts = new ArrayList<>();
@PostMapping("/prj")
public String makePost(String title, String content,
Principal principal, Model model) {
int wordsLength = content.split(" ").length;
if (title.length() > 30) {
model.addAttribute("text", "Title size > 30");
} else if (wordsLength < 30) {
model.addAttribute("text", "Your content < 30 words");
} else if (wordsLength > 100) {
model.addAttribute("text", "Your content > 100 words");
} else {
Post post = new Post();
post.setContent(content);
post.setAuthor(principal.getName());
post.setParagraph(title);
postRepo.save(post);
posts = postRepo.findAll();
model.addAttribute("posts", posts);
return "prj";
}
return "prj";
}
}
package com.dzeru.springloginformandoauth2tutorial.repos;
import com.dzeru.springloginformandoauth2tutorial.entities.Post;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
@Service
@Repository
public interface PostRepo extends JpaRepository<Post, Integer> {
}
<form action="/prj" method="post" class="auto_form">
<div class="container">
<label>
<input type="text" placeholder="Enter title" name="title" required>
</label>
<label>
<textarea id="text" cols="100%" rows="20%" placeholder="Enter content" name="content" required></textarea>
</label>
<b th:text="${text}"></b>
<button type="submit" class="button_login">Submit</button>
</div>
</form>
package com.dzeru.springloginformandoauth2tutorial.entities;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Objects;
@Entity
@Table(name = "post")
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
private String author;
@NotNull
private String paragraph;
@NotNull
private String content;
public Post() {
this("EMPTY", "EMPTY", "EMPTY");
}
public Post(@NotNull String author, @NotNull String paragraph, @NotNull String content) {
this.author = author;
this.paragraph = paragraph;
this.content = content;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Post post = (Post) o;
return Objects.equals(id, post.id) && Objects.equals(author, post.author) && Objects.equals(paragraph, post.paragraph) && Objects.equals(content, post.content);
}
@Override
public int hashCode() {
return Objects.hash(id, author, paragraph, content);
}
@Override
public String toString() {
return "Post{" +
"id=" + id +
", author='" + author + '\'' +
", paragraph='" + paragraph + '\'' +
", content='" + content + '\'' +
'}';
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getParagraph() {
return paragraph;
}
public void setParagraph(String paragraph) {
this.paragraph = paragraph;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
谢谢你的帮助!
我修好了。问题在于:数据截断:数据对于列'column_name'太长。我只是在我的应用程序中创建:jdbcCompliantTruncation=false.properties
我面临着使用Spring数据JPA存储库将数据保存到数据库的问题。 我的场景是:我使用循环逐个收集和保存数据。收集所有数据需要很多时间。因此,我想将每个记录的数据立即保存到表中并保存到数据库中。我正在使用saveAndFlush方法,但数据并没有立即保存到表中。 我迫不及待地要收集所有数据,因为收集所有数据可能需要一整天。
我使用的是由java.sql引起的相同代码:na]。SQLSyntaxErrorException:ORA-00942:表或视图不存在-Spring批处理,无法将记录保存到数据库中。 我已经创建了表 LifeCycleStatusWriter.java 作家 错误: 配置详细信息 数据库配置
问题内容: 我正在寻找最快和正确的方法来检查数据库中是否存在记录: 您有任何问题吗? 问题答案: 考虑那是你的课 我将您的参数保留为a,但我认为应该将其作为。 它比因为不需要在select子句中从表中检索所有值而更快。 您可以将字符串放入静态最终常量中,以使其更快。
我在使用JPA时遇到了一些困难。我没有得到任何异常,但我不能保存任何东西到数据库。我从Hibernate到Jpa,在那里一切都工作得很好。下面是我的文件 Application.Properties: 存储库: 服务: 我在提交表单时得到了200的响应,但在数据库中找不到数据
我有一个使用JPA的Spring Boot应用程序,它有两个数据源,一个用于DB2,一个用于SQL Server。 当我尝试将实体保存到SQL Server时,不会抛出任何错误,但该实体不会持久化到数据库。我看不到日志中正在生成插入。 提前感谢 下面是我尝试保存实体所执行的代码@组成部分 下面是sql Server配置。 这是SQL Server存储库 公共接口BeercupMessageLogR
问题内容: 我想为Eclipse创建一个Google Closure Compiler插件。我已经有一个弹出菜单项,用于将JavaScript文件编译为压缩版本。但是,如果每次保存时都会自动生成一个缩小的版本,那么它将大有帮助。我已阅读/听说过有关自然和建筑,扩展点和的内容。但是我没有弄清楚我应该使用什么,尤其是如何使它工作。 是否有一个实用的插件实例可以执行“相同的事情”,以便我可以从中进行工作