Spring Boot整合Spring Data连接postgreSQL完成简单的CRUD操作
导入jpa依赖和postgresql依赖:
<!-- jpa依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- el end -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
编写pojo层数据库实体类Company:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity //声明实体类
@Table(name="company") //建立实体类和表的映射关系
public class Company {
@Id//声明当前私有属性为主键
@Column(name = "id") //指定和表中id字段的映射关系
@GeneratedValue(strategy = GenerationType.AUTO) 设置主键自增
private int id;
@Column(name = "name") //指定和表中name字段的映射关系
private String name;
@Column(name = "age") //指定和表中age字段的映射关系
private int age;
}
编写接口:
public interface CumpanyImp extends JpaRepository<Company,Integer> { //利用jpa规范定义方法来查找name List<Company> findByName(String name); }
编写测试类:
@Autowired CumpanyImp cumpanyImp; /** * 查找name方法 */ @Test void contextLoads() { List<Company> list = cumpanyImp.findByName("小白"); list.forEach(System.out::println); } /** * 根据id删除 */ @Test void testDelect() { cumpanyImp.deleteById(1); } /** * 添加方法 save() * save()如果没有id则是添加方法 */ @Test void testSave(){ Company company = new Company(); company.setName("小陆"); company.setAge(18); Company save = cumpanyImp.save(company); System.out.println(save); } /** * 更新方法 save() * save()如果有id则是修改方法 */ @Test void testUpdate(){ Company company = new Company(); company.setId(2); company.setName("小帅"); cumpanyImp.save(company); } }
基本使用教程