springmvc 访问数据库代码
时间: 2023-10-16 08:06:27 浏览: 43
以下是一个使用Spring MVC访问数据库的示例代码:
1. 首先,确保已经配置好了数据库连接和Spring MVC的相关配置。
2. 创建一个数据访问对象(DAO)接口和它的实现类,用于执行数据库操作。
```java
public interface UserDao {
User findById(int id);
List<User> findAll();
void save(User user);
void update(User user);
void delete(int id);
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SessionFactory sessionFactory;
@Override
public User findById(int id) {
Session session = sessionFactory.getCurrentSession();
return session.get(User.class, id);
}
@Override
public List<User> findAll() {
Session session = sessionFactory.getCurrentSession();
CriteriaQuery<User> query = session.getCriteriaBuilder().createQuery(User.class);
query.from(User.class);
return session.createQuery(query).getResultList();
}
@Override
public void save(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
}
@Override
public void update(User user) {
Session session = sessionFactory.getCurrentSession();
session.update(user);
}
@Override
public void delete(int id) {
Session session = sessionFactory.getCurrentSession();
User user = session.get(User.class, id);
if (user != null) {
session.delete(user);
}
}
}
```
3. 创建一个控制器类,处理来自前端的请求,并调用DAO进行数据库操作。
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@GetMapping("/{id}")
public String getUserById(@PathVariable int id, Model model) {
User user = userDao.findById(id);
model.addAttribute("user", user);
return "user-details";
}
@GetMapping("/all")
public String getAllUsers(Model model) {
List<User> users = userDao.findAll();
model.addAttribute("users", users);
return "user-list";
}
@PostMapping("/")
public String saveUser(@ModelAttribute User user) {
userDao.save(user);
return "redirect:/user/all";
}
@PutMapping("/")
public String updateUser(@ModelAttribute User user) {
userDao.update(user);
return "redirect:/user/all";
}
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable int id) {
userDao.delete(id);
return "redirect:/user/all";
}
}
```
在上面的代码中,`UserController` 类使用`@Controller` 注解标记为一个控制器类,使用`@RequestMapping` 注解指定处理请求的URL前缀。
其中,`getUserById` 方法处理"/user/{id}"的GET请求,根据用户ID从数据库中获取用户信息,并将其传递给视图模板进行展示。
`getAllUsers` 方法处理"/user/all"的GET请求,从数据库中获取所有用户信息,并将其传递给视图模板进行展示。
`saveUser` 方法处理"/user/"的POST请求,将前端提交的用户信息保存到数据库中。
`updateUser` 方法处理"/user/"的PUT请求,更新数据库中指定用户的信息。
`deleteUser` 方法处理"/user/{id}"的DELETE请求,从数据库中删除指定用户。
4. 创建对应的视图模板,例如"user-details.html"和"user-list.html",用于展示用户信息。
这样,通过配置好的数据库连接和Spring MVC的相关配置,就可以使用上述代码实现对数据库的访问。