使用JDBC来完成开发用controller和service
时间: 2024-03-16 19:44:32 浏览: 52
JDBC是Java语言连接数据库的标准API,可以使用JDBC来与数据库进行交互,从而完成开发。一般情况下,我们使用Spring框架来简化JDBC的开发,同时也可以使用Spring提供的@Controller和@Service注解来实现MVC架构中的控制器和服务类。
下面是一个使用JDBC、Controller和Service的示例:
1. 创建一个数据库连接
```java
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC", "root", "123456");
```
2. 创建DAO(Data Access Object)层
```java
public class UserDao {
private Connection conn;
// 构造函数
public UserDao(Connection conn) {
this.conn = conn;
}
// 查询用户
public User getUser(int id) throws SQLException {
User user = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement("SELECT * FROM user WHERE id = ?");
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
}
} finally {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
}
return user;
}
}
```
3. 创建Service层
```java
@Service
public class UserService {
@Autowired
private UserDao userDao;
// 查询用户
public User getUser(int id) throws SQLException {
return userDao.getUser(id);
}
}
```
4. 创建Controller层
```java
@Controller
public class UserController {
@Autowired
private UserService userService;
// 查询用户
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public ModelAndView getUser(@PathVariable("id") int id) throws SQLException {
ModelAndView mav = new ModelAndView();
User user = userService.getUser(id);
mav.addObject("user", user);
mav.setViewName("user");
return mav;
}
}
```
在这个示例中,我们使用JDBC来连接MySQL数据库,然后创建了一个UserDao类来查询用户信息,接着创建了一个UserService类来调用UserDao类,最后创建了一个UserController类来调用UserService类。在UserController类中,我们使用@RequestMapping注解来指定URL路径,然后使用ModelAndView对象来返回视图和模型数据。
需要注意的是,上述示例中的代码仅供参考,实际开发中需要根据具体的业务需求来进行修改和完善。同时,使用JDBC进行开发需要手动管理数据库连接和事务,因此建议使用Spring框架来简化开发。
阅读全文