我在Springmvc / Hibernate项目(MySQL数据库)中返回受影响的行时遇到问题。
这是我的DAO文件,必须返回数据库中受影响行的大小。 当我在我的Controller文件中执行此方法时,总是有“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;
}
我必须在我的Controller中知道记录的数量(来自此查询)。
有什么想法吗?