spring boot學(xué)習(xí)筆記二——連接數(shù)據(jù)庫

SpringBoot整合SpringDataJPA

1.添加依賴關(guān)系

  • 添加SpringBoot對(duì)MySQL以及SpringDataJPA的支持依賴
  • 添加mysql-connector-java的支持
 <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
  • 添加spring-data-jpa的支持
 <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
 </dependency>

2.配置數(shù)據(jù)庫

  • 修改application.properties文件,添加數(shù)據(jù)源配置
spring.datasource.url=jdbc:mysql://localhost:3306/spring?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.show-sql= true

3.編寫實(shí)體類

@Entity
public class User{


    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long id;
    private String email;
    private String nickName;
    private String age;

   /*省略構(gòu)造方法和get、set函數(shù)*/
}

@Entity注解表明它是一個(gè)JPA實(shí)體
id屬性加了@Id和@GeneratedValue注解,說明這個(gè)字段是實(shí)體的唯一標(biāo)識(shí),并且這個(gè)字段的值是自動(dòng)生成的。

4.定義倉庫接口

要定義用于把User對(duì)象持久化到數(shù)據(jù)庫的倉庫了。因?yàn)橛昧薙pring Data JPA,
所以我們要做的就是簡單地定義一個(gè)接口,擴(kuò)展一下Spring Data JPA的JpaRepository接口:

public interface UserRepository extends JpaRepository<User, Long> {
        List<User> findAll();
        List<User> findAllById(Long id);
}

5.創(chuàng)建處理器

@RestController
public class UserController {

    @Autowired
    private UserRepository mUserRepository;

    @RequestMapping (value = "/add")
    public List<User> addUser() {

        User user = new User();
        user.setAge("23");
        user.setNickName("赫本");
        user.setEmail("email@gmail.com");
        mUserRepository.save(user);
        return mUserRepository.findAll();
    }

    @RequestMapping ("/findAll")
    public List<User> findAll() {

        return mUserRepository.findAll();
    }

    @RequestMapping ("/findByID/{id}")
    public List<User> findByID(@PathVariable ("id") Long id) {

        return mUserRepository.findAllById(id);
    }
}

控制器有三個(gè)方法:

  • 1、addUser:處理/add上的請(qǐng)求,向數(shù)據(jù)庫保存一條User信息
  • 2、findAll:處理/findAll上的請(qǐng)求,從數(shù)據(jù)庫獲取所有User列表
  • 3、findByID:處理/findByID/{id}上的請(qǐng)求,從數(shù)據(jù)庫獲取指定id的user

運(yùn)行應(yīng)用程序

  • add:
  • findAll:
  • findByID/{id}:
    findByID/{8}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容