web项目中经常用到页面跳转的功能,如果给每个页面跳转都单独写一个方法,显然太麻烦,因此我们经常用到的是通用页面跳转。
@requestMapping("page");
@Controller
public class PageController{
@requestMapping(value="{pageName}",method=RequestMthod.GET);
public String toPage(@PathVariable("pageName") String pageName){
return pageName;
}
}
是不是非常简单!
下面来配置通用Mapper
1.首先在pom.xml里导入通用mapper的依赖
<dependency>
<groupId>com.github.abel533</groupId>
<artifactId>mapper</artifactId>
<version>2.3.4</version>
</dependency>
然后在mybatis全局配置文件里配置一个通用mapper的插件
<plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">
<!--主键自增回写方法,默认值MYSQL,详细说明请看文档 -->
<property name="IDENTITY" value="MYSQL" />
<!--通用Mapper接口,多个通用接口用逗号隔开(这个是通用Mapper给我们提供的被继承的接口,包括基本的crud操作) -->
<property name="mappers" value="com.github.abel533.mapper.Mapper" />
</plugin>
2.给项目中的pojo实体类添加注解,映射mysql中对应的表
@Table(name = "tb_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// 用户名
private String userName;
// 密码
private String password;
// 姓名
private String name;
// 年龄
private Integer age;
//....以下省略
注:如果类名或者属性与表名或者表字段相同或者符合驼峰命名法,则无需添加注解,详情可以参看通用mapper官方文档。
3.创建UserMapper接口,继承通用mapper
package cn.itcast.usermanage.mapper;
import cn.itcast.usermanage.pojo.User;
import com.github.abel533.mapper.Mapper;
public interface UserMapper extends Mapper<User> {
}
继承了通用mapper后可以不用写sql语句就能完成最基本的CRUD操作了,当然,只能是单表的CRUD!
通用mapper官方介绍:https://gitee.com/free/Mapper
接下来是配置分页助手。配置过程与通用mapper类似。
1.在pom.xml添加分页助手依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
2.在mybatis-config.xml里添加分页助手插件
<!-- 分页助手 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql" />
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true" />
</plugin>
3.使用分页助手
package cn.itcast.usermanage.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.itcast.usermanage.bean.EasyUIResult;
import cn.itcast.usermanage.mapper.UserMapper;
import cn.itcast.usermanage.pojo.User;
import com.github.abel533.entity.Example;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public EasyUIResult queryUserList(Integer page, Integer rows) {
// 设置分页参数
PageHelper.startPage(page, rows);
// 查询User数据
Example example = new Example(User.class);
example.setOrderByClause("updated DESC"); // 设置排序条件
List<User> users = this.userMapper.selectByExample(example);
// 获取分页后的信息
PageInfo<User> pageInfo = new PageInfo<User>(users);
return new EasyUIResult(pageInfo.getTotal(), pageInfo.getList());
}
}
ok,两大插件的使用分享到此结束。
参考:传智播客教学视频。PageHelper官方文档:https://pagehelper.github.io/