【发布时间】:2020-09-30 22:05:06
【问题描述】:
如何在数据库中实现事务,例如日志记录?例如,用户登录后立即写入表中。
【问题讨论】:
-
用户在哪里登录?到java应用程序?春季申请?还是到 postgres?
-
对不起,我忘了补充。是的。应用程序处于 spring-boot 和休眠状态,我想在表中创建日志。
标签: java postgresql spring-boot hibernate
如何在数据库中实现事务,例如日志记录?例如,用户登录后立即写入表中。
【问题讨论】:
标签: java postgresql spring-boot hibernate
我实施你的例子的计划。
使用 url 映射 /login 创建登录页面(登录名、密码)。当用户写入他的凭据时,控制器会将他从/login 重定向到/success-login 页面。
使用获取映射/success-login 创建控制器。当用户到达这个页面时,表示他已经登录。所以在这里你可以写一个sql查询到postgres表,比如id="1", user="user1", event="log in"
型号:
@Entity
public class Log {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
String user;
String event;
// getters, setters, equals, hashcode ...
}
存储库:
public interface LogRepository extends CrudRepository<Log, Long> {
}
控制器:
@Controller
public class LoginController {
@Autowired
LogRepository logRepository;
@GetMapping("/login-success")
public String loginSuccess() {
Log log = new Log();
log.setUser("user1");
log.setEvent("log in");
logRepository.save(log);
return "login-success";
}
}
【讨论】: