Springmvc 整合mybatis 小项目
时间: 2023-06-16 13:06:20 浏览: 85
好的,我可以给你提供一个简单的 SpringMVC 整合 MyBatis 的项目实例。
1. 首先,你需要创建一个 Maven 项目,并添加以下依赖:
```xml
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
```
2. 在 `src/main/resources` 下创建 `mybatis-config.xml` 文件,配置 MyBatis 的相关信息,例如数据源、插件等。以下是一个简单的配置:
```xml
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
3. 创建一个 `User` 实体类,如下所示:
```java
public class User {
private Integer id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
4. 创建一个 `UserMapper` 接口,定义操作 `User` 表的方法,例如查询所有用户、插入用户等。以下是一个简单的示例:
```java
public interface UserMapper {
List<User> findAll();
void insert(User user);
}
```
5. 创建一个 `UserMapper.xml` 文件,编写 SQL 语句并映射到 `UserMapper` 接口的方法上。例如:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="findAll" resultType="com.example.entity.User">
select * from user
</select>
<insert id="insert" parameterType="com.example.entity.User">
insert into user (name, age) values (#{name}, #{age})
</insert>
</mapper>
```
6. 创建一个 `UserService` 接口和 `UserServiceImpl` 实现类,分别定义和实现业务逻辑。
```java
public interface UserService {
List<User> findAll();
void addUser(User user);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
@Override
public void addUser(User user) {
userMapper.insert(user);
}
}
```
7. 创建一个 `UserController` 控制器,处理用户请求并调用 `UserService` 处理业务逻辑。
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/list")
public ModelAndView list() {
ModelAndView mv = new ModelAndView("user/list");
List<User> userList = userService.findAll();
mv.addObject("userList", userList);
return mv;
}
@RequestMapping("/add")
public String add(@ModelAttribute User user) {
userService.addUser(user);
return "redirect:/user/list";
}
}
```
8. 创建一个 `list.jsp` 页面,显示用户列表和表单。
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User List</title>
</head>
<body>
<h3>User List</h3>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.age}</td>
</tr>
</c:forEach>
</tbody>
</table>
<br>
<h3>Add User</h3>
<form action="${pageContext.request.contextPath}/user/add" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Add"></td>
</tr>
</table>
</form>
</body>
</html>
```
以上就是一个简单的 SpringMVC 整合 MyBatis 的项目实例,你可以根据自己的需求进行修改和扩展。如果你有任何疑问或不理解的地方,欢迎随时问我。