提交 7a189947 编写于 作者: 武汉红喜's avatar 武汉红喜

pagehelper-spring-boot-starter

上级 ff485361
......@@ -32,7 +32,6 @@
<spring.version>4.3.10.RELEASE</spring.version>
<mybatis-spring.version>1.3.1</mybatis-spring.version>
<mybatis.version>3.4.5</mybatis.version>
<pagehelper.version>4.1.6</pagehelper.version>
<commons-dbcp.version>1.4</commons-dbcp.version>
<mysql-connector-java.version>5.1.32</mysql-connector-java.version>
......@@ -163,11 +162,6 @@
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
<!-- commons -->
<dependency>
......
......@@ -70,7 +70,8 @@
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
......
package org.hongxi.whatsmars.spring.boot.config;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.SqlUtilConfig;
import org.apache.ibatis.plugin.Interceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisConfig {
@Bean
public Interceptor pageHelper() {
PageHelper pageHelper = new PageHelper();
SqlUtilConfig sqlUtilConfig = new SqlUtilConfig();
sqlUtilConfig.setDialect("mysql");
sqlUtilConfig.setOffsetAsPageNum(true);
sqlUtilConfig.setRowBoundsWithCount(true);
sqlUtilConfig.setPageSizeZero(true);
sqlUtilConfig.setReasonable(false);
sqlUtilConfig.setSupportMethodsArguments(false);
pageHelper.setSqlUtilConfig(sqlUtilConfig);
return pageHelper;
}
}
......@@ -9,8 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* Created by shenhongxi on 2017/11/16.
......@@ -71,4 +70,40 @@ public class NewController {
returnItems.setStatus(200);
return returnItems;
}
@GetMapping("/findByNicknameAndGender")
public ReturnItems<User> findByNicknameAndGender(@RequestParam String nickname,
@RequestParam Integer gender) {
ReturnItems<User> returnItems = new ReturnItems<>();
List<User> users = userService.findByNicknameAndGender(nickname, gender);
returnItems.setItems(users);
returnItems.setTotal(users == null ? 0 : users.size());
returnItems.setStatus(200);
return returnItems;
}
@PostMapping("/addUsers")
public HttpStatus addUsers() {
List<User> users = new ArrayList<>();
Date now = new Date();
long t = now.getTime();
User user = new User();
user.setUsername("tb" + t++);
user.setNickname("hongxi");
user.setGender(1);
user.setAge(28);
user.setCreateDate(now);
user.setUpdateDate(now);
users.add(user);
user = new User();
user.setUsername("tb" + t++);
user.setNickname("lilei");
user.setGender(1);
user.setAge(27);
user.setCreateDate(now);
user.setUpdateDate(now);
users.add(user);
userService.insertBatch(users);
return HttpStatus.OK;
}
}
package org.hongxi.whatsmars.spring.boot.dao;
import org.apache.ibatis.annotations.Param;
import org.hongxi.whatsmars.spring.boot.model.User;
import org.apache.ibatis.annotations.Mapper;
......@@ -24,4 +25,7 @@ public interface UserMapper {
void update(User user);
void delete(Long id);
List<User> findByNicknameAndGender(@Param("nickname") String nickname, @Param("gender") Integer gender);
}
......@@ -24,4 +24,6 @@ public interface UserService {
void add(List<User> users);
List<User> findByNicknameAndGender(String nickname, Integer gender);
}
......@@ -62,4 +62,9 @@ public class UserServiceImpl implements UserService {
userMapper.insert(user);
}
}
@Override
public List<User> findByNicknameAndGender(String nickname, Integer gender) {
return userMapper.findByNicknameAndGender(nickname, gender);
}
}
......@@ -31,6 +31,12 @@ user:
welcome: Hello, World!
noFilterUrl: /,/login
logging.level.tk.mybatis.pagehelper.mapper: WARN
pagehelper:
closeConn: true
offset-as-page-num: false
autoDialect: true
---
spring:
profiles: dev
......
......@@ -18,7 +18,7 @@
<insert id="insertBatch" parameterType="list">
insert into user(username, nickname, gender, age, create_date, update_date) values
<foreach collection="list" item="item" separator=",">
(#{username}, #{nickname}, #{gender}, #{age}, #{createDate}, #{updateDate})
(#{item.username}, #{item.nickname}, #{item.gender}, #{item.age}, #{item.createDate}, #{item.updateDate})
</foreach>
</insert>
......@@ -38,4 +38,8 @@
delete from user where id = #{id}
</delete>
<select id="findByNicknameAndGender" resultType="User">
select * from user where nickname = #{nickname} and gender = #{gender}
</select>
</mapper>
\ No newline at end of file
......@@ -30,37 +30,6 @@
<typeAlias type="org.hongxi.whatsmars.spring.boot.model.User" alias="User" />
</typeAliases>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 4.0.0以后版本可以不设置该参数 -->
<property name="dialect" value="mysql"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样-->
<property name="offsetAsPageNum" value="true"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true"/>
<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
<property name="pageSizeZero" value="true"/>
<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<property name="reasonable" value="false"/>
<!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
<!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
<!-- 不理解该含义的前提下,不要随便复制该配置 -->
<!--<property name="params" value="pageNum=pageHelperStart;pageSize=pageHelperRows;"/>-->
<!-- 支持通过Mapper接口参数来传递分页参数 -->
<property name="supportMethodsArguments" value="false"/>
<!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
<property name="returnPageInfo" value="none"/>
</plugin>
</plugins>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册