SpringBoot Data JPA 实战

来源:互联网 发布:mac开机咚一声怎么关 编辑:程序博客网 时间:2024/05/29 14:08

搭建项目

1)https://start.spring.io/ 初始化SpringBoot项目

这里写图片描述

2)导入项目到Eclipse中

这里写图片描述

3)添加Maven依赖:MySQL的java驱动、druid数据源

        <!-- MySQL的java驅動 -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>        </dependency>           <!-- druid数据源 -->        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.0.26</version>        </dependency>   

4)配置基本属性

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://192.168.1.12:3306/jeeboot?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTCspring.datasource.username=rootspring.datasource.password=123456spring.jpa.hibernate.ddl-auto=nonespring.jpa.show-sql=truespring.jackson.serialization.indent_output=true

5)定义映射实体类 User.java

@Entitypublic class User implements Serializable {    /** serialVersionUID. */    private static final long serialVersionUID = 1L;    /** 主键. */    @Id    @GeneratedValue    private String id;    /** 用户名. */    private String userName = "";    /** 手机号码. */    private String mobileNo = "";    /** 邮箱. */    private String email = "";    /** 密码. */    private String password = "";    /** 用户类型. */    private Integer userType = 0;    /** 注册时间. */    private Date registerTime = new Date();    /** 所在区域. */    private String region = "";    /** 是否有效 0 有效 1 无效. */    private Integer validity = 0;    /** 头像. */    private String headPortrait = "";

6)定义数据访问接口 UserRepos.java

public interface UserRepos extends JpaRepository<User, String> {    /**     * 通过用户名相等查询     *      * @param userName 用户名     * @return     */    List<User> findByUserName(String userName);    /**     * 通过名字like查询     *      * @param userName 用户名     * @return     */    List<User> findByUserNameLike(String userName);    /**     * 通过用户名和手机号码查询     *      * @param userName 用户名     * @param mobileNo 手机号码     * @return     */    User findByUserNameAndMobileNo(String userName, String mobileNo);    /**     * 根据用户类型,分页查询     *      * @param userType 用户类型     * @param pageable     * @return     */    Page<User> findByUserType(Integer userType, Pageable pageable);    /**     * 根据用户名,排序查询     *      * @param userName 用户名     * @param sort     * @return     */    List<User> findByUserName(String userName, Sort sort);}

7) 定义UserController.java

@RestControllerpublic class UserController {    @Autowired    private UserRepos userRepos;    @RequestMapping(value="saveUser")    public User saveUser(){        return userRepos.save(new User());    }    @RequestMapping(value="findByUserName")    public List<User> findByUserName(String userName){        return userRepos.findByUserName(userName);    }    @RequestMapping(value="findByUserNameLike")    public List<User> findByUserNameLkie(String userName){        return userRepos.findByUserNameLike(userName);    }    @RequestMapping(value="findByPage")    public Page<User> findByPage(Integer userType){        return userRepos.findByUserType(userType, new PageRequest(1, 5));    }    @RequestMapping(value="findByPageSort")    public List<User> findByPageSort(String userName){        return userRepos.findByUserName(userName, new Sort(Direction.DESC, "registerTime"));    }}

这里写图片描述

0 0