Java简单实现SpringMVC+MyBatis分页插件
环境准备
在开始之前,需要确保以下环境已经准备好:
- JDK 1.8或以上版本
- Maven 3.0或以上版本
- Tomcat 8.0或以上版本
- IntelliJ IDEA 2018或以上版本
创建Maven项目
- 打开IntelliJ IDEA,选择“Create New Project”。
- 在弹出的窗口中选择“Maven”项目类型,并勾选“Create from archetype”选项。
- 在下拉列表中选择“maven-archetype-webapp”。
- 输入项目的GroupId、ArtifactId和Version等信息,然后点击“Next”。
- 在下一步中,选择项目的存储路径和项目名称,然后点击“Finish”按钮。
导入依赖
在pom.xml文件中添加以下依赖:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
配置Spring
在src/main/resources目录下创建一个名为“applicationContext.xml”的Spring配置文件,并添加以下内容:
<!-- 配置数据源 -->
<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="123456"/>
</bean>
<!-- 配置MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
在上面的配置中,我们配置了数据源和MyBatis的SqlSessionFactory。同时,我们还配置了MapperScannerConfigurer来扫描Mapper接口。
配置Spring MVC
在src/main/webapp/WEB-INF目录下创建一个名为“springmvc-servlet.xml”的Spring MVC配置文件,并添加以下内容:
<!-- 配置Spring MVC -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 配置扫描Controller -->
<context:component-scan base-package="com.example.controller"/>
在上面的配置中,我们配置了视图解析器和扫描Controller。
配置web.xml
在src/main/webapp/WEB-INF目录下创建一个名为“web.xml”的web配置文件,并添加以下内容:
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
在上面的配置中,我们配置了DispatcherServlet,并将其映射到根路径。
创建Controller
在src/main/java目录下创建一个名为“com.example.controller”的包,并在其中创建一个名为“UserController”的类。在该类中添加以下内容:
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public String getUserList(@RequestParam(defaultValue = "1") int pageNum, Model model) {
PageHelper.startPage(pageNum, 10);
List<User> userList = userService.getUserList();
PageInfo<User> pageInfo = new PageInfo<>(userList);
model.addAttribute("userList", userList);
model.addAttribute("pageInfo", pageInfo);
return "userList";
}
}
在上面的代码中,我们创建了一个名为“UserController”的Controller,并使用@GetMapping注解来处理GET请求。在方法中,我们使用@RequestParam注解来获取请求参数,并使用@Autowired注解来注入UserService。我们使用PageHelper.startPage方法来开启分页功能,并设置每页显示10条记录。然后,我们调用UserService的getUserList方法来获取用户列表,并使用PageInfo来封装分页信息。最后,我们将查询到的User列表和分页信息添加到Model中,并返回“userList”视图。
创建Mapper
在src/main/java目录下创建一个名为“com.example.mapper”的包,并在其中创建一个名为“UserMapper”的接口。在该接口中添加以下内容:
public interface UserMapper {
List<User> getUserList();
}
在上面的代码中,我们创建了一个名为“UserMapper”的Mapper接口,并定义了一个名为“getUserList”的方法。
创建Service
在src/main/java目录下创建一个名为“com.example.service”的包,并在其中创建一个名为“UserService”的接口。在该接口中添加以下内容:
public interface UserService {
List<User> getUserList();
}
在上面的代码中,我们创建了一个名为“UserService”的Service接口,并定义了一个名为“getUserList”的方法。
在src/main/java目录下创建一个名为“com.example.service.impl”的包,并在其中创建一个名为“UserServiceImpl”的类。在该类中添加以下内容:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getUserList() {
return userMapper.getUserList();
}
}
在上面的代码中,我们创建了一个名为“UserServiceImpl”的Service实现类,并使用@Autowired注解来注入UserMapper。在getUserList方法中,我们调用UserMapper的getUserList方法来查询用户列表。
创建JSP视图
在src/main/webapp/WEB-INF/views目录下创建一个名为“userList.jsp”的JSP视图,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<table>
<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>
<div>
<ul>
<li><a href="?pageNum=1">首页</a></li>
<li><a href="?pageNum=${pageInfo.prePage}">上一页</a></li>
<li><a href="?pageNum=${pageInfo.nextPage}">下一页</a></li>
<li><a href="?pageNum=${pageInfo.pages}">尾页</a></li>
</ul>
</div>
</body>
</html>
在上面的代码中,我们创建了一个名为“userList.jsp”的JSP视图,并使用
运行项目
在完成以上步骤后,我们可以启动Tomcat服务器,并访问http://localhost:8080/user/list来查看用户列表。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java简单实现SpringMVC+MyBatis分页插件 - Python技术站