SpringMVC+Mybatis初学者搭建
需积分: 0 160 浏览量
更新于2018-12-09
收藏 7.3MB RAR 举报
【SpringMVC+Mybatis初学者搭建】
SpringMVC和Mybatis是Java开发Web应用时常用的两个框架,它们分别负责控制层和数据访问层。SpringMVC提供了强大的MVC架构支持,而Mybatis则是一个轻量级的持久层框架,专注于SQL映射和数据库操作。本文将详细介绍如何在IntelliJ IDEA(Idea)环境下,利用Maven来搭建一个基础的SpringMVC+Mybatis项目,适合初学者入门学习。
**一、环境准备**
1. **Java JDK**:确保已安装Java JDK,并配置好环境变量,JDK版本通常需与Maven和IDEA兼容。
2. **IntelliJ IDEA**:安装并启动最新版的IDEA,它提供了友好的集成开发环境。
3. **Maven**:安装Maven,配置好`~/.m2/settings.xml`文件中的本地仓库路径,确保IDEA可以正确找到Maven。
**二、创建新项目**
1. **新建项目**:在IDEA中选择“New Project”,然后选择“Maven”选项。
2. **配置POM.xml**:在新项目的`pom.xml`文件中,添加SpringMVC和Mybatis的相关依赖。例如:
```xml
<dependencies>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.23</version>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
<scope>runtime</scope>
</dependency>
</dependencies>
```
**三、配置SpringMVC**
1. **创建DispatcherServlet配置文件**:在`src/main/webapp/WEB-INF`目录下创建`servlet-context.xml`,用于配置Spring MVC。
```xml
<!-- 配置扫描的包 -->
<context:component-scan base-package="com.example.springmvc"/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
```
2. **配置web.xml**:在`src/main/webapp/WEB-INF`目录下创建`web.xml`,注册DispatcherServlet。
```xml
<web-app>
...
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
...
</web-app>
```
**四、配置Mybatis**
1. **创建Mybatis的全局配置文件**:在`src/main/resources`目录下创建`mybatis-config.xml`。
```xml
<configuration>
<mappers>
<mapper resource="com/example/springmvc/mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
2. **创建Mapper接口和XML文件**:例如创建一个UserMapper接口和对应的XML文件,处理用户相关的数据库操作。
```java
// UserMapper.java
public interface UserMapper {
User getUserById(int id);
}
```
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.springmvc.mapper.UserMapper">
<select id="getUserById" resultType="com.example.springmvc.model.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
```
3. **配置Spring对Mybatis的支持**:在`servlet-context.xml`中添加Mybatis的配置。
```xml
<!-- 配置SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!-- 配置MapperScannerConfigurer -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.springmvc.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
```
**五、编写Controller**
1. 创建`UserController`类,实现请求处理。
```java
@Controller
@RequestMapping("/users")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public String getUser(@PathVariable int id, Model model) {
User user = userMapper.getUserById(id);
model.addAttribute("user", user);
return "user";
}
}
```
**六、创建视图页面**
1. 在`src/main/webapp/WEB-INF/views`目录下创建`user.jsp`,显示从数据库获取的用户信息。
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User Detail</title>
</head>
<body>
<h1>User Detail</h1>
<p>ID: ${user.id}</p>
<p>Name: ${user.name}</p>
<p>Email: ${user.email}</p>
</body>
</html>
```
至此,一个基本的SpringMVC+Mybatis项目已经搭建完成。当你在浏览器中访问`http://localhost:8080/users/{id}`(替换`{id}`为实际用户ID),IDEA将会运行项目并展示对应用户的信息。
这个简单的示例展示了如何整合SpringMVC和Mybatis,通过Maven管理依赖,以及在IDEA中进行开发。在实际项目中,还需要考虑异常处理、事务管理、日志记录等更多细节。随着学习的深入,你可以逐渐了解和掌握这些高级特性和最佳实践。

Osmond-W
- 粉丝: 0
最新资源
- import_error解决办法.md
- invalid_format_error解决办法.md
- invalid_index_error解决办法.md
- invalid_argument_error解决办法.md
- logic_error解决办法.md
- MeshLoadFailureException如何解决.md
- MeshFormatUnsupportedException如何解决.md
- missing_field_error解决办法.md
- NetworkErrorException如何解决.md
- missing_parameter_error解决办法.md
- MultiThreadRenderingFailureException如何解决.md
- invalid_type_error解决办法.md
- LowPowerModeActivatedException如何解决.md
- overflow_error解决办法.md
- null_reference_error解决办法.md
- out_of_bounds_error解决办法.md