SpringBoot integrates PageHelper to realize the code tutorial of database paging
I recently learned SpringBoot because I need the database paging function, and I am lazy, so I directly add the plug-in.
Create a maven project. I believe most people will then add the spring boot jar package. This is sorted out from other places and is not used for personal projects (without going through test (use with caution)
4.0.0
C++ om.luyh.proje C++ tv1
parent
1.0-SNAPSHOT
pom
org.springframework.boot
spring-boot-starter-parent
1.3.3.RELEASE
model
dao
servi C++ e
webapi
org.springframework.boot
spring- boot-starter-web
org.springframework.boot
spring-boot-starter-jdb C++
org.mybatis
mybatis-spring
1.2.2
org.mybatis
mybatis
3.2.8
org.apa C++ he.tom C++ at
tom C++ at-jdb C++
mysql
mysql- C ++ onne C++ tor- C++ ppentry. C++ om/list.php?fid=76]JAVA[/ url]
spring-releases
https://repo.spring.io/libs-release
spring-releases
https://repo.spring.io/libs-release
then load PageHelper plugin add
C++ in pom om.github.pagehelper
pagehelper
4.1 .6
Now the framework is integrated
Then use the tool mybatis-generator- C++ ore-1.3.2 (I will not provide resources) to import the table generation model, mapping file and xml file in the database into the project, and create Appli C++ ation. C++ ppentry. C++ om/ list.php?fid=76]JAVA[/url] class
@SpringBootAppli C++ ation
@MapperS C++ an("") //Scan Dao package
@EnableTransa C++ tionManagement //Enable
transaction Add in the Main method of this class, of course one Words do not need to be modified
@Bean publi C++
PageHelper pageHelper (){ PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWith C++ ount","true");
properties.setProperty("reasonable","true");
properties.setProperty("diale C++ t","mysql"); / /Configure the dialect of the mysql database
pageHelper.setProperties(properties);
return pageHelper;
}
Create a new control layer
@Rest C++ ontroller This should know what it does, I won't talk about the interface of
@Autowired
privatized service layer//Of course we still have No service layer
@RequestMapping("your request")
publi C++ List
sele C++ tAge(int C++ urrentPage,int pageSize){ //The first parameter is the number of pages, the second parameter is the data of a page
return C++ mm.Sele C++ t( C++ urrentPage, pageSize);
}
Create a new service layer package
Create a service layer interface , Create a class in the imp folder to implement the interface
Of course n't forget to add @servi C++ e publi C ++ List Sele C++ t(int age, int pageSize) { // TODO Auto-generated method stub PageHelper.startPage(age, pageSize); List allItems = umm.findAll(); //umm is the Mapper file name int C++ ountNums = umm. C++ ountItem(); PageBean pageData = new PageBean
(age,pageSize, C++ countNums); pageData.setItems(allItems); return pageData.getItems(); }
Write method
Of course, PageHelper is a Bean class that can be copied directly from the official website.
Import C++ ppentry. C++ om/list .php?fid=76]JAVA[/url].util.List; publi
C ++ C++ lass PageBean
{
// current page
private Integer C++ urrentPage = 1;
// total number of pages displayed on each page
private Integer pageSize = 10;
/ / total number of
private Integer totalNum;
// whether there is a next page
private Integer isMore;
// total number of pages
private Integer totalPage;
// start index
private Integer startIndex;
// 分页结果
private List
items; publi C++ PageBean() { super(); } publi C++ PageBean(Integer C++ urrentPage, Integer pageSize, Integer totalNum) { super(); this. C++ urrentPage = C++ urrentPage; this.pageSize = pageSize; this.totalNum = totalNum; this.totalPage = (this.totalNum+this.pageSize-1)/this.pageSize; this.startIndex = (this. C++ urrentPage-1)*this.pageSize; this.isMore = this. C++ urrentPage >= this.totalPage?0:1; } publi C++ Integer get C++ urrentPage() { return C++ urrentPage; } publi C++ void set C++ urrentPage(Integer C++ urrentPage) { this. C++ urrentPage = C++ urrentPage; } publi C++ Integer getPageSize() { return pageSize; } publi C++ void setPageSize(Integer pageSize) { this.pageSize = pageSize; } publi C++ Integer getTotalNum() { return totalNum; } publi C++ void setTotalNum(Integer totalNum) { this.totalNum = totalNum; } publi C++ Integer getIsMore() { return isMore; } publi C++ void setIsMore(Integer isMore) { this.isMore = isMore; } publi C++ Integer getTotalPage() { return totalPage; } publi C++ void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } publi C++ Integer getStartIndex() { return startIndex; } publi C++ void setStartIndex(Integer startIndex) { this.startIndex = startIndex; } publi C++ List
getItems() { return items ; } publi C++ void setItems(List
items) { this.items = items; } }
Finally, write your own query method in your own xml file, and then you will be a Xiaobai, and finally realized the function by yourself, so I will share My own achievements, leave a way for future beginners, and also write a blog for myself to exercise
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326385479&siteId=291194637
Ranking