在spring boot網站上生成一個項目,如圖:
我使用的是Maven項目,java使用是jdk8(spring boot 2.x必須要jdk8及以上),dependencies分別輸入選擇 web mysql jpa
使用eclipse添加項目
eclipse的maven插件會自動下載依賴包。
項目加載完成后,新建幾個包:
首先設置resources下的application.properties:
spring.datasource.url:jdbc:mysql://127.0.0.1:3306/db_springboot?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=sa
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.open-in-view=false
在entities包中添加實體類:
@Entity @Table(name="tb_user")//表名 public class User { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private long id; @Column(name="name")//對應的列名 private String name; @Column(name="password")//對應的列名 private String passwd; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } }
在repositories包中添加User倉儲接口
public interface UserRepository extends JpaRepository<User, Long> { List<User> findUserByName(String name); User findUserByNameAndPasswd(String name, String password); }
在controllers包中添加UserController
@RestController public class UserController { @Autowired UserRepository userRepository; @RequestMapping("/users") public String findUsers() { List<User> users=userRepository.findAll(); System.out.println("findAll..."); for (User user : users) { System.out.println("name="+user.getName()+" password="+user.getPasswd()); } System.out.println("findUserByName..."); users=userRepository.findUserByName("aaaa"); for (User user : users) { System.out.println("name="+user.getName()+" password="+user.getPasswd()); } System.out.println("findUserByNameAndPasswd..."); User user=userRepository.findUserByNameAndPasswd("aaaa","000000"); System.out.println("name="+user.getName()+" password="+user.getPasswd()); return "hello all users"; } }
在SpringBoot2XDemoJpaApplication中運行,結果如下:
findAll...
name=aaaa password=123456
name=bbbb password=654321
name=aaaa password=000000
findUserByName...
name=aaaa password=123456
name=aaaa password=000000
findUserByNameAndPasswd...
name=aaaa password=000000
額外說明:Repository方法是由一個動詞、一個可選的主題(Subject)、關鍵詞By以及一個斷言所組成。具體可以參考Spring+in+action (Spring實戰 第4版)一書的第11章第3節。