用户管理系统 - 用户列表
| 编号 | 姓名 | 邮箱 | 密码 | 操作 |
|---|---|---|---|---|
| ${user.id} | ${user.name} | ${user.email} | ${user.password} | 删除 编辑 |
后端代码 (Hibernate)
假设我们已经有了一个User实体类,包含id、name、email、password四个属性,以及对应的getter和setter方法。
在后端代码中,我们需要使用Hibernate来进行数据库操作。首先,我们需要在Spring配置文件中配置Hibernate的SessionFactory:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.example.model"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
上述配置中,我们指定了要扫描的实体类所在的包(com.example.model),以及使用的数据库方言(MySQLDialect)。我们还开启了Hibernate的SQL输出和格式化,并指定了自动更新数据库表结构。
接下来,我们可以在DAO层中编写对User实体类的CRUD操作:
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SessionFactory sessionFactory;
@Override
public void save(User user) {
sessionFactory.getCurrentSession().save(user);
}
@Override
public void delete(User user) {
sessionFactory.getCurrentSession().delete(user);
}
@Override
public void update(User user) {
sessionFactory.getCurrentSession().update(user);
}
@Override
public User findById(int id) {
return sessionFactory.getCurrentSession().get(User.class, id);
}
@Override
public List<User> findAll() {
return sessionFactory.getCurrentSession().createQuery("from User").list();
}
}
上述代码中,我们使用@Autowired注解自动注入了SessionFactory,然后实现了UserDao接口中的五个方法。这些方法分别对应了CRUD操作中的“增加”、“删除”、“更新”、“根据ID查询”和“查询所有”操作。
最后,在Service层中调用UserDao中的方法,完成对用户数据的操作:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void addUser(User user) {
userDao.save(user);
}
@Override
public void deleteUser(int id) {
User user = userDao.findById(id);
if (user != null) {
userDao.delete(user);
}
}
@Override
public void updateUser(User user) {
userDao.update(user);
}
@Override
public User findUserById(int id) {
return userDao.findById(id);
}
@Override
public List<User> findAllUsers() {
return userDao.findAll();
}
}
上述代码中,我们使用@Autowired注解自动注入了UserDao,然后实现了UserService接口中的五个方法。这些方法分别对应了“添加用户”、“删除用户”、“更新用户”、“根据ID查询用户”和“查询所有用户”操作。
至此,我们已经完成了对用户数据的CRUD操作,并可以在前端页面中显示出来。
原文地址: https://www.cveoy.top/t/topic/f2tJ 著作权归作者所有。请勿转载和采集!