建项目时所需要的插件
一、导入相关pom依赖
降低mysql版本和pom依赖
<mysql.version>5.1.44</mysql.version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
二、application.yml文件配置
spring:
jpa:
hibernate:
ddl-auto: update
show-sql: true
三、自动建表entity
package com.chendongyang.springboot03.entity;
import lombok.Data;
import javax.persistence.*;
@Data
@Table(name = "t_springboot_book_2019")
@Entity
public class Book {
// 主键
@Id
// 自动增长
@GeneratedValue
private Integer bid;
// 列指定长度
@Column(length = 100)
private String bname;
@Column
private Float price;
}
四、自动建表截图
五、jpa值增删改
repository包下只要继承jpaRepository,通常所有的增删改方法都有
package com.chendongyang.springboot03.repository;
import com.chendongyang.springboot03.entity.Book;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BookRepostitory extends JpaRepository<Book,Integer> {
}
controller层
package com.chendongyang.springboot03.controller;
import com.chendongyang.springboot03.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
private JpaRepository jpaDao;
@RequestMapping("/add")
public String add(Book book){
jpaDao.save(book);
return "success";
}
@RequestMapping("/edit")
public String edit(Book book){
jpaDao.save(book);
return "success";
}
@RequestMapping("/del")
public String del(Book book){
jpaDao.delete(book);
return "success";
}
@RequestMapping("/getOne")
public Book getOne(Integer bid){
// 会出现懒加载问题:org.hibernate.LazyInitializationException: could not initialize proxy - no Session
// return jpaDao.getOne(bid);
return (Book) jpaDao.findById(bid).get();
}
@RequestMapping("/getAll")
public List<Book> getAll(){
return jpaDao.findAll();
}
}
浏览器输入请求测试
http://localhost:8080/springboot/jpa/getOne?bid=11
http://localhost:8080/springboot/jpa/getAll
http://localhost:8080/springboot/jpa/add?bname=不死不灭&price=234
http://localhost:8080/springboot/jpa/add?bname=斗破苍穹&price=234&bid=11
http://localhost:8080/springboot/jpa/del?bid=11