// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/entity/City.java
// @Entity
// @Table(name = "city")
// public class City implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     @Column(nullable = false, unique = true, length = 64)
//     private String name;
// 
//     @Column(nullable = false)
//     private String state;
// 
//     @Column(nullable = false)
//     private String country;
// 
//     @Column(nullable = false)
//     private String map;
// 
//     public City() {
//     }
// 
//     public City(String name, String country) {
//         super();
//         this.name = name;
//         this.country = country;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public String getState() {
//         return this.state;
//     }
// 
//     public String getCountry() {
//         return this.country;
//     }
// 
//     public String getMap() {
//         return this.map;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public void setState(String state) {
//         this.state = state;
//     }
// 
//     public void setCountry(String country) {
//         this.country = country;
//     }
// 
//     public void setMap(String map) {
//         this.map = map;
//     }
// 
//     @Override
//     public String toString() {
//         return getName() + "," + getState() + "," + getCountry();
//     }
// }
// 
// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/repository/CityRepository.java
// @Repository
// public interface CityRepository extends JpaRepository<City, Long> {
// 
//     /**
//      * 通过id查询
//      * @param id
//      * @return
//      */
//     City findById(Long id);
// 
//     /**
//      * 通过country字段查询
//      * @param country
//      * @return
//      */
//     City findByCountryEquals(String country);
// 
//     /**
//      * 分页查询
//      * @param pageable
//      * @return
//      */
//     Page<City> findAll(Pageable pageable);
// 
//     /**
//      * 分页查询 name和country
//      * @param name
//      * @param country
//      * @param pageable
//      * @return
//      */
//     Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(String name,
//                                                                        String country, Pageable pageable);
// 
//     /**
//      * 分页查询 name和country,忽略大小写
//      * @param name
//      * @param country
//      * @return
//      */
//     City findByNameAndCountryAllIgnoringCase(String name, String country);
// }
// 
// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/service/CityService.java
// public interface CityService {
// 
//     /**
//      * 通过id查询
//      * @param id
//      * @return
//      */
//     City findById(Long id);
// 
//     /**
//      * 通过country字段查询
//      * @param country
//      * @return
//      */
//     City findByCountryEquals(String country);
// 
//     /**
//      * 分页查询
//      * @param pageable
//      * @return
//      */
//     Page<City> findAll(Pageable pageable);
// 
//     /**
//      * 分页查询 name和country
//      * @param name
//      * @param country
//      * @param pageable
//      * @return
//      */
//     Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(String name,
//                                                                        String country, Pageable pageable);
// 
//     /**
//      * 分页查询 name和country,忽略大小写
//      * @param name
//      * @param country
//      * @return
//      */
//     City findByNameAndCountryAllIgnoringCase(String name, String country);
// 
//     /**
//      * 创建
//      * @param city
//      * @return
//      */
//     City createCity(City city);
// }


import com.lengchuan.springBoot.jpa.config.ReadAndWrite.annotation.TargetDataSource;
import com.lengchuan.springBoot.jpa.entity.City;
import com.lengchuan.springBoot.jpa.repository.CityRepository;
import com.lengchuan.springBoot.jpa.service.CityService;
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 org.springframework.transaction.annotation.Transactional;
package com.lengchuan.springBoot.jpa.service.impl;


/**
 * @author lengchuan <lishuijun1992@gmail.com>
 * @date 17-4-16
 */
@Service
public class CityServiceImpl implements CityService {

    @Autowired
    private CityRepository cityRepository;
    /**
     * 通过id查询
     * @param id
     * @return
     */
// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/entity/City.java
// @Entity
// @Table(name = "city")
// public class City implements Serializable {
// 
//     private static final long serialVersionUID = 1L;
// 
//     @Id
//     @GeneratedValue
//     private Long id;
// 
//     @Column(nullable = false, unique = true, length = 64)
//     private String name;
// 
//     @Column(nullable = false)
//     private String state;
// 
//     @Column(nullable = false)
//     private String country;
// 
//     @Column(nullable = false)
//     private String map;
// 
//     public City() {
//     }
// 
//     public City(String name, String country) {
//         super();
//         this.name = name;
//         this.country = country;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public String getState() {
//         return this.state;
//     }
// 
//     public String getCountry() {
//         return this.country;
//     }
// 
//     public String getMap() {
//         return this.map;
//     }
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public void setState(String state) {
//         this.state = state;
//     }
// 
//     public void setCountry(String country) {
//         this.country = country;
//     }
// 
//     public void setMap(String map) {
//         this.map = map;
//     }
// 
//     @Override
//     public String toString() {
//         return getName() + "," + getState() + "," + getCountry();
//     }
// }
// 
// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/repository/CityRepository.java
// @Repository
// public interface CityRepository extends JpaRepository<City, Long> {
// 
//     /**
//      * 通过id查询
//      * @param id
//      * @return
//      */
//     City findById(Long id);
// 
//     /**
//      * 通过country字段查询
//      * @param country
//      * @return
//      */
//     City findByCountryEquals(String country);
// 
//     /**
//      * 分页查询
//      * @param pageable
//      * @return
//      */
//     Page<City> findAll(Pageable pageable);
// 
//     /**
//      * 分页查询 name和country
//      * @param name
//      * @param country
//      * @param pageable
//      * @return
//      */
//     Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(String name,
//                                                                        String country, Pageable pageable);
// 
//     /**
//      * 分页查询 name和country,忽略大小写
//      * @param name
//      * @param country
//      * @return
//      */
//     City findByNameAndCountryAllIgnoringCase(String name, String country);
// }
// 
// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/service/CityService.java
// public interface CityService {
// 
//     /**
//      * 通过id查询
//      * @param id
//      * @return
//      */
//     City findById(Long id);
// 
//     /**
//      * 通过country字段查询
//      * @param country
//      * @return
//      */
//     City findByCountryEquals(String country);
// 
//     /**
//      * 分页查询
//      * @param pageable
//      * @return
//      */
//     Page<City> findAll(Pageable pageable);
// 
//     /**
//      * 分页查询 name和country
//      * @param name
//      * @param country
//      * @param pageable
//      * @return
//      */
//     Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(String name,
//                                                                        String country, Pageable pageable);
// 
//     /**
//      * 分页查询 name和country,忽略大小写
//      * @param name
//      * @param country
//      * @return
//      */
//     City findByNameAndCountryAllIgnoringCase(String name, String country);
// 
//     /**
//      * 创建
//      * @param city
//      * @return
//      */
//     City createCity(City city);
// }


// Path: SpringBoot-SpringDataJPA/src/main/java/com/lengchuan/springBoot/jpa/service/impl/CityServiceImpl.java
import com.lengchuan.springBoot.jpa.config.ReadAndWrite.annotation.TargetDataSource;
import com.lengchuan.springBoot.jpa.entity.City;
import com.lengchuan.springBoot.jpa.repository.CityRepository;
import com.lengchuan.springBoot.jpa.service.CityService;
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 org.springframework.transaction.annotation.Transactional;

package com.lengchuan.springBoot.jpa.service.impl;


/**
 * @author lengchuan <lishuijun1992@gmail.com>
 * @date 17-4-16
 */
@Service
public class CityServiceImpl implements CityService {

    @Autowired
    private CityRepository cityRepository;
    /**
     * 通过id查询
     * @param id
     * @return
     */
    public City findById(Long id) {