(3)填写配置文件
说明: 在application.properties中填写一下配置,这里数据库,用户名,密码 换成自己的。
#自动生成数据库表(关键) spring.jpa.hibernate.ddl-auto=update #mysql数据库连接配置(非常重要) spring.datasource.url = jdbc:mysql://localhost:3306/springbootjpa?serverTimezone=Asia/Shanghai #数据库用户名 spring.datasource.username = root #数据库密码 spring.datasource.password = root #mysql数据库驱动程序(重要) spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver #jpa配置:在控制台显示Hibernate的sql(可选) spring.jpa.show-sql = true #其他配置:关闭Thymeleaf 的缓存 spring.thymeleaf.cache = false
(4)创建数据库并写实体类
说明:只用创建库和实体类,不用创建表信息,当运行项目有实体类就自动生成表了。这也是方便的一点。
package com.example.demo.pojo; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.io.Serializable; import java.util.Date; //lombok @Data //声明为实体类 @Entity public class Admin implements Serializable { //主键id @Id //主键id 生成策略 IDENTITY表示数据库自动生成 @GeneratedValue(strategy = GenerationType.IDENTITY) //Long 代表bigint private Long id; //数据库列的字段,非空唯一,长度20 @Column(nullable = false,unique = true,length = 20) private String username; //数据库列的字段,非空,长度20 @Column(nullable = false,unique = true,length = 20) private String password; @Column(nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date rdate; }
说明:这时再看数据库已经出现表了,说明成功!!!
(5)编写repository接口与Controller类
说明:创建repository包下接口AdminrRepository,该接口要 extends PagingAndSortingRepository<Admin,Long>接口,这个接口是最新的,有分页和排序功能。其中Admin表示实体模型,Long代表主键类型。**
package com.example.demo.repository; import com.example.demo.pojo.Admin; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.stereotype.Repository; //声明为repository @Repository public interface AdminRepository extends PagingAndSortingRepository<Admin,Long> { }
package com.example.demo.controller; import com.example.demo.pojo.Admin; import com.example.demo.repository.AdminRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class AdminController { @Autowired private AdminRepository adminRepository; @GetMapping("findall") public List<Admin> finall(){ List<Admin> all = (List<Admin>) adminRepository.findAll(); return all; } }
(6)测试
说明:在数据库admin表中填写一条/多条数据,重新启动项目。然后在网址中输入localhost:8080/findall 出现数据说明成功!!!
注:其他的方法就不写了,只是做一个配置演示,都是很简单的。JPA最厉害的是使用命名规则进行创建接口方法,将会在下一个博客中介绍常见的命名规则。