Количество строк для концепции входа в приложение Springboot - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь создать концепцию входа в систему с помощью приложения весенней загрузки, поэтому мне просто нужно количество строк в таблице mysql, я пробовал разные ответы в Интернете, но ничего не нашло решения, пожалуйста, ваша помощь и предложение заслуживают внимания.Я упомяну мой код ниже.

Контроллер

@GetMapping("/Login")
public String Login(Model model) {
    model.addAttribute("customer", new Customer());
    return "login";
}

@PostMapping("/LoginProcess")
public String LoginProcess(@ModelAttribute("customer") Customer thecustomer,HttpSession session) {

    System.out.println(thecustomer);
    Customer result = customerservice.Login_service(thecustomer.getUserName(),thecustomer.getPassword());

    if(result==null)
    {
        return "login";
    }
    else if(result.getRole().equals("1"))
    {

        return "admindash";
    }
    else
    {
        //session.setAttribute("jsp_uname", result.getUserName());
        return "customerdash";
    }
}

CustomerImplDao

import javax.persistence.EntityManager;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.example.filedemo.model.Customer;

@Repository
public class CustomerDaoImpl implements Customerdao {
    @Autowired
    private EntityManager entityManager;

    @Override
    public void save(Customer theCustomer) {
        Session cursession = entityManager.unwrap(Session.class);
        //If Id=0 then It will do insert or id=x then it will do update
        cursession.save(theCustomer);

    }

    @Override
    public Customer Login(String username,String password) {
        Session cursession = entityManager.unwrap(Session.class);   
        String hql="from Customer c where c.UserName=:username and c.password=:password";
        Query<Customer> query = cursession.createQuery(hql,Customer.class);
    query.setParameter("username", username);
    query.setParameter("password", password);
    Customer theCustomer = query.uniqueResult();
    System.out.println("******************"+query.getResultList().size());
      return theCustomer;
    }
}

1 Ответ

0 голосов
/ 02 марта 2019

Вы можете просто использовать:

query.getResultList().size();

Или на уровне базы данных:

entityManager.creteQuery("select count(c) from Customer c where c.UserName=:username and c.password=:password", Long.class).getSingleResult();

Чтобы сделать это, вам нужно добавить его поверх вашего сервиса (бин): ​​

@Autowired
private EntityManager entityManager;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...