用hibernate框架编写java程序 实现 登陆 注册 查询所有(分页) 修改 删除
时间: 2024-05-08 20:15:42 浏览: 92
这是一份简单的使用Hibernate框架实现登陆、注册、查询所有(分页)、修改和删除的Java程序。以下是程序的详细说明:
1. 登陆功能:
在登陆功能中,我们使用Hibernate的Criteria查询实现检查用户名和密码是否正确的功能。如果用户名和密码正确,则返回true,否则返回false。
```java
public boolean login(String username, String password) {
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("username", username));
criteria.add(Restrictions.eq("password", password));
User user = (User) criteria.uniqueResult();
if (user != null) {
return true;
}
return false;
}
```
2. 注册功能:
在注册功能中,我们使用Hibernate的save方法实现将用户信息保存到数据库中的功能。
```java
public void register(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
}
```
3. 查询所有(分页)功能:
在查询所有(分页)功能中,我们使用Hibernate的Criteria查询实现分页查询用户信息的功能。在本例中,我们假设每页显示10条记录。
```java
public List<User> list(int page) {
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(User.class);
criteria.setFirstResult((page - 1) * 10);
criteria.setMaxResults(10);
List<User> users = criteria.list();
return users;
}
```
4. 修改功能:
在修改功能中,我们使用Hibernate的update方法实现修改用户信息的功能。
```java
public void update(User user) {
Session session = sessionFactory.getCurrentSession();
session.update(user);
}
```
5. 删除功能:
在删除功能中,我们使用Hibernate的delete方法实现删除用户信息的功能。
```java
public void delete(User user) {
Session session = sessionFactory.getCurrentSession();
session.delete(user);
}
```
完整的程序如下:
```java
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
public class UserDao {
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public boolean login(String username, String password) {
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("username", username));
criteria.add(Restrictions.eq("password", password));
User user = (User) criteria.uniqueResult();
if (user != null) {
return true;
}
return false;
}
public void register(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
}
public List<User> list(int page) {
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(User.class);
criteria.setFirstResult((page - 1) * 10);
criteria.setMaxResults(10);
List<User> users = criteria.list();
return users;
}
public void update(User user) {
Session session = sessionFactory.getCurrentSession();
session.update(user);
}
public void delete(User user) {
Session session = sessionFactory.getCurrentSession();
session.delete(user);
}
}
```
其中,User类是一个简单的JavaBean,包含了id、username和password三个属性。这里不再赘述,读者可以自行编写。
另外,使用Hibernate框架时,需要在配置文件中配置数据库连接信息、实体类映射等相关信息。这里不再赘述,读者也可以自行了解。
阅读全文