// Path: chapter-4-spring-boot-validating-form-input/src/main/java/spring/boot/core/domain/User.java
// @Entity
// public class User implements Serializable {
// 
//     /**
//      * 编号
//      */
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     /**
//      * 名称
//      */
//     @NotEmpty(message = "姓名不能为空")
//     @Size(min = 2, max = 8, message = "姓名长度必须大于 2 且小于 20 字")
//     private String name;
// 
//     /**
//      * 年龄
//      */
//     @NotNull(message = "年龄不能为空")
//     @Min(value = 0, message = "年龄大于 0")
//     @Max(value = 300, message = "年龄不大于 300")
//     private Integer age;
// 
//     /**
//      * 出生时间
//      */
//     @NotEmpty(message = "出生时间不能为空")
//     private String birthday;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Integer getAge() {
//         return age;
//     }
// 
//     public void setAge(Integer age) {
//         this.age = age;
//     }
// 
//     public String getBirthday() {
//         return birthday;
//     }
// 
//     public void setBirthday(String birthday) {
//         this.birthday = birthday;
//     }
// 
// 
//     public User(String name, Integer age, String birthday) {
//         this.name = name;
//         this.age = age;
//         this.birthday = birthday;
//     }
// 
//     public User() {}
// 
//     @Override
//     public String toString() {
//         return "User{" +
//                 "id=" + id +
//                 ", name='" + name + '\'' +
//                 ", age=" + age +
//                 ", birthday=" + birthday +
//                 '}';
//     }
// }
// 
// Path: chapter-5-spring-boot-paging-sorting/src/main/java/spring/boot/core/service/UserService.java
// public interface UserService {
// 
//     /**
//      * 获取用户分页列表
//      *
//      * @param pageable
//      * @return
//      */
//     Page<User> findByPage(Pageable pageable);
// 
//     /**
//      * 新增用户
//      *
//      * @param user
//      * @return
//      */
//     User insertByUser(User user);
// }


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import spring.boot.core.domain.User;
import spring.boot.core.domain.UserRepository;
import spring.boot.core.service.UserService;
package spring.boot.core.service.impl;


/**
 * User 业务层实现
 *
 * Created by bysocket on 18/09/2017.
 */
@Service
public class UserServiceImpl implements UserService {

// Path: chapter-4-spring-boot-validating-form-input/src/main/java/spring/boot/core/domain/User.java
// @Entity
// public class User implements Serializable {
// 
//     /**
//      * 编号
//      */
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     /**
//      * 名称
//      */
//     @NotEmpty(message = "姓名不能为空")
//     @Size(min = 2, max = 8, message = "姓名长度必须大于 2 且小于 20 字")
//     private String name;
// 
//     /**
//      * 年龄
//      */
//     @NotNull(message = "年龄不能为空")
//     @Min(value = 0, message = "年龄大于 0")
//     @Max(value = 300, message = "年龄不大于 300")
//     private Integer age;
// 
//     /**
//      * 出生时间
//      */
//     @NotEmpty(message = "出生时间不能为空")
//     private String birthday;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public Integer getAge() {
//         return age;
//     }
// 
//     public void setAge(Integer age) {
//         this.age = age;
//     }
// 
//     public String getBirthday() {
//         return birthday;
//     }
// 
//     public void setBirthday(String birthday) {
//         this.birthday = birthday;
//     }
// 
// 
//     public User(String name, Integer age, String birthday) {
//         this.name = name;
//         this.age = age;
//         this.birthday = birthday;
//     }
// 
//     public User() {}
// 
//     @Override
//     public String toString() {
//         return "User{" +
//                 "id=" + id +
//                 ", name='" + name + '\'' +
//                 ", age=" + age +
//                 ", birthday=" + birthday +
//                 '}';
//     }
// }
// 
// Path: chapter-5-spring-boot-paging-sorting/src/main/java/spring/boot/core/service/UserService.java
// public interface UserService {
// 
//     /**
//      * 获取用户分页列表
//      *
//      * @param pageable
//      * @return
//      */
//     Page<User> findByPage(Pageable pageable);
// 
//     /**
//      * 新增用户
//      *
//      * @param user
//      * @return
//      */
//     User insertByUser(User user);
// }


// Path: chapter-5-spring-boot-paging-sorting/src/main/java/spring/boot/core/service/impl/UserServiceImpl.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import spring.boot.core.domain.User;
import spring.boot.core.domain.UserRepository;
import spring.boot.core.service.UserService;

package spring.boot.core.service.impl;


/**
 * User 业务层实现
 *
 * Created by bysocket on 18/09/2017.
 */
@Service
public class UserServiceImpl implements UserService {

    private static final Logger LOGGER = LoggerFactory.getLogger(UserServiceImpl.class);