本篇文章主要介绍了" Spring5+MyBatis3分页",主要涉及到方面的内容,对于企业开发感兴趣的同学可以参考一下:
使用spring5、myBatis3,分页插件用mybatis-plus3.0.5.注意:mybatis-plus已经引入mybatis和mybatis-spr...
使用spring5、myBatis3,分页插件用mybatis-plus3.0.5.
注意:mybatis-plus已经引入mybatis和mybatis-spring,所以不用再次引入MyBatis和MyBatis-Spring,以免出现版本冲突.
pom.xml
4.0.0
com.mycompany
spring-xxmvc-myBatis-demo
1.0-SNAPSHOT
war
spring-xxmvc-myBatis-demo
${project.build.directory}/endorsed
UTF-8
javax
javaee-web-api
7.0
provided
org.springframework
spring-core
5.1.1.RELEASE
org.springframework
spring-context
5.1.1.RELEASE
org.springframework
spring-web
5.1.1.RELEASE
org.springframework
spring-tx
5.1.1.RELEASE
org.springframework
spring-jdbc
5.1.1.RELEASE
com.baomidou
mybatis-plus
3.0.5
cn.easyproject
ojdbc7
12.1.0.2.0
com.zaxxer
HikariCP
3.2.0
commons-logging
commons-logging
1.2
org.apache.commons
commons-lang3
3.8.1
commons-io
commons-io
2.6
org.apache.commons
commons-collections4
4.2
commons-beanutils
commons-beanutils
1.9.3
commons-fileupload
commons-fileupload
1.3.3
json-lib
net.sf.json-lib
jar
2.2.2
jdk15
commons-collections
commons-collections
kop
XingXingMVC
20170101
XingXingMVC
jar
jstl
jstl
1.2
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.7
1.7
${endorsed.dir}
org.apache.maven.plugins
maven-war-plugin
2.6
false
org.apache.maven.plugins
maven-dependency-plugin
2.6
validate
copy
${endorsed.dir}
true
javax
javaee-endorsed-api
7.0
jar
spring配置文件在WEB-INF/config下
applicationContext.xml
spring-db.xml
注意:MyBatis-Plus官网上对于分页插件的配置是错的,官网给的类路径是:com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean
实际应该是:com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.
少了extension.原因是之前的版本没有extension包,3.x版本后引入新包,但官网的配置文件没有及时更新.
web.xml
contextConfigLocation
WEB-INF/config/applicationContext.xml
xxmvc
/$xx/mvc/*
org.springframework.web.context.ContextLoaderListener
xxmvc
xx.mvc.FilterDispatcher
InjectImplClass
xx.mvc.extend.SpringInject
xxmvc
*.jsp
30
Home.jsp
form类 UserManage.java
package forms.system.manage;
import com.mycompany.demo.service.api.UserService;
import java.util.Map;
import javax.annotation.Resource;
import net.sf.json.JSONObject;
import xx.mvc.extend.BaseForm;
/**
*
* @author hicen
*/
public class UserManage extends BaseForm{
@Resource
private UserService userService;
public String findUsers(Map mapReq,Map mapSes)
{
// String strJson="{'curPage':1,'totalRecords':1,'data':[{'id':1,'name':'hicen','email':'hicen@163.com','state':'1','password':'*'}]}";
// strJson="{\"data\":[{\"id\":1,\"name\":\"hicen\",\"email\":\"hicen@163.com\",\"state\":\"1\",\"password\":\"*\"}]}";
Integer pageNo = this.gint("pq_curpage", mapReq);
Integer pageSize = this.gint("pq_rpp", mapReq);
if(pageNo==null) pageNo=1;
if(pageSize==null) pageSize=10;
String strJson = JSONObject.fromObject(userService.getUserPage(pageNo, pageSize)).toString();
return this.returnJson(strJson);
}
}
mapper类 UserMapper.java
package com.mycompany.demo.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.baomidou.mybatisplus.plugins.Page;
import com.mycompany.demo.beans.UserBean;
import java.util.List;
import org.apache.ibatis.annotations.Select;
/**
*
* @author hicen
*/
public interface UserMapper {
@Select("select * from t_user2 where id=#{id}")
public UserBean findById(int id);
/*List*/ IPage findUserPage(Page page);
}
service接口
package com.mycompany.demo.service.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
//import com.baomidou.mybatisplus.plugins.Page;
import com.mycompany.demo.beans.UserBean;
/**
*
* @author hicen
*/
public interface UserService {
public UserBean getUserById(int id);
public IPage getUserPage(int pageNo,int pageSize);
}
service实现类
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.mycompany.demo.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.baomidou.mybatisplus.plugins.Page;
import com.mycompany.demo.beans.UserBean;
import com.mycompany.demo.mapper.UserMapper;
import com.mycompany.demo.service.api.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @author hicen
*/
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public UserBean getUserById(int id) {
return userMapper.findById(id);
}
@Override
public IPage getUserPage(int pageNo, int pageSize) {
Page page = new Page(pageNo, pageSize);
return userMapper.findUserPage(page);
}
}
UserBean.java
package com.mycompany.demo.beans;
/**
*
* @author hicen
*/
public class UserBean {
public int getId() {
return id;
}
public void setId(int ID) {
this.id = ID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasword() {
return pasword;
}
public void setPasword(String pasword) {
this.pasword = pasword;
}
public String getEmail() {
return email;
}
public void setEmail(String eamil) {
this.email = eamil;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
private int id;
private String name;
private String pasword;
private String email;
private String state;
}
UserMapper.xml