2

我在 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;
}

我必须在我的控制器中知道记录的数量(来自这个查询)。

任何想法?

4

0 回答 0