Spring Boot 2.x 使用 jpa 連接 mysql


在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節。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM