Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用条件登录并将列表转换为JSON格式_Java_Mysql_Spring_Hibernate_Authentication - Fatal编程技术网

Java 如何使用条件登录并将列表转换为JSON格式

Java 如何使用条件登录并将列表转换为JSON格式,java,mysql,spring,hibernate,authentication,Java,Mysql,Spring,Hibernate,Authentication,我的女儿 session.beginTransaction(); String password=login_name.getLogin_password(); String username=login_name.getLogin_name(); Query query=session.createQuery("select login_id,login_name,login_password from Login where login_name='"+username+"' and log

我的女儿

session.beginTransaction();
String password=login_name.getLogin_password();
String username=login_name.getLogin_name();
Query query=session.createQuery("select login_id,login_name,login_password from Login where login_name='"+username+"' and login_password='"+password+"'");
return query.list();
这是代码,我想将这些更改为标准。我想使用条件验证登录表的用户名和密码是否存在任何可能性。 我使用hibernate进行映射,我使用Spring

我还想将列表转换为JSON格式

我想检查我的服务中的用户名和密码,并将该列表返回到JSON格式。我检查了许多示例,但我对这一点没有明确的想法

最后,我使用查询检查我的用户名和密码,并返回该列表,并在我的rest客户端中显示它


但我想在JSON中展示一下如何做到这一点。

我想OP是在要求准备语句,所以我不明白为什么每个人都对SQL注入发表评论

由于我不是java或hibernate专家,我的方法如下:

session.beginTransaction();
String password=login_name.getLogin_password();
String username=login_name.getLogin_name();
Query query=session.createQuery("select login_id,login_name,login_password from Login where login_name= :username and login_password= :password ");
query.setParameter("username", username);
query.setParameter("password", password);
return query.list();
您必须在pom.xml中添加jackson库。然后,您可以将其转换为json,如下所示

它会自动转换为json格式


SQL注入是可能的。Book Scenario你能解释一下吗?我也想用JSON格式列出它,正如@lad2025所说的,你很容易受到SQL注入的影响,请使用预先准备好的语句。此外,永远不要将密码以纯文本形式存储在数据库中,而是存储它们。因此,对输入的密码进行散列,然后与数据库中的密码进行比较。更好的方法是绑定参数,如果有可能,可以使用条件绑定参数
new ObjectMapper().WriteValueAsString(list);