我在 Springmvc/Hibernate 项目(MySQL 数据库)中返回受影响的行时遇到问题。
这是我的 DAO 文件,它必须返回数据库中受影响行的大小。当我在我的控制器文件中执行此方法时,总是有“null”。也许这是hibernate和spring线程的问题?我的 Spring 控制器中必须有这一行。帮助,如果可以的话。见下文:
@Transactional
public Integer addStudenci(String imie, String nazwisko, String nrIndeksu,
String email, Integer rok, Integer semestr, String przedmiot,
String login, String haslo) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String query = "insert ignore into studenci(imiona,nazwisko,nr_indeksu, email, rok, semestr, przedmiot_krztalcenia, login, haslo) values(:imie,:nazwisko,:nrIndeksu,:email,:rok,:semestr,:przedmiot,:login,:haslo)";
Integer addInt=-1;
addInt= sessionFactory.getCurrentSession().createSQLQuery(query)
.setParameter("imie", imie).setParameter("nazwisko", nazwisko)
.setParameter("nrIndeksu", nrIndeksu)
.setParameter("email", email).setParameter("rok", rok)
.setParameter("semestr", semestr)
.setParameter("przedmiot", przedmiot)
.setParameter("login", login).setParameter("haslo", haslo)
.executeUpdate();
tx.commit();
session.close();
return addInt;
}
我的这种方法的服务文件:
@Transactional
public Integer addStudenci(String imie, String nazwisko, String nrIndeksu,
String email, Integer rok, Integer semestr, String przedmiot,
String login, String haslo) {
return loginDAO.addStudenci(imie, nazwisko, nrIndeksu, email, rok, semestr,
przedmiot, login, haslo);
}
这是用于读取多行的简单代码(使用服务中的方法)
Integer addNumber = -1;
addNumber = loginService.addStudenci(name_student, nazwisko_student,
nrInd_student, email, rokI, semestrI,
przedmiot_ksztalcenia, login, haslo);
System.console().writer().println(addNumber);
if(1 == addNumber) {
String temat = "Przesłanie hasła do logowania!";
try{
SendMail.Wyslij_maila(email, temat, hasloSend, "System zarządzania projektami na PWR");
}
catch(Exception ex) {
;
}
}
else {
nrInd_student = fields1;
}
我必须在我的控制器中知道记录的数量(来自这个查询)。
任何想法?