<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                下面通過簡單的CURD(增/改/查/刪)操作來演示一個JPA的使用過程。 <br/> 步驟如下: **1. 創建實體類** ```java @Entity //聲明實體 @Table(name = "user") //實體與表建立映射關系,name就是表名 @Data @Builder @NoArgsConstructor @AllArgsConstructor public class User { /** * @Id:主鍵。 * strategy:主鍵生成策略。GenerationType.IDENTITY使用數據庫的生成策略,如果是mysql就是自增鍵。 */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; /** * @Column:屬性與表字段建立映射關系。 name就是表的字段名 */ @Column(name = "username") private String username; @Column(name = "password") private String password; @Column(name = "email") private String email; } ``` **2. 創建查詢接口** ```java /** * 1. JpaRepository<實體類,主鍵類型>接口:用來完成基本CRUD操作。 * 2. JpaSpecificationExecutor<實體類>:用來完成復雜的查詢,如分頁等查詢操作。 */ public interface UserRepository extends JpaRepository<User, Integer>, JpaSpecificationExecutor<User> { } ``` **3. 簡單的增刪改查** JPA可以根據實體自動建表,不需要自己手動到數據庫中建表。 ```java @SpringBootTest public class UserRepositoryTest { @Autowired private UserRepository userRepository; /** * 新增一條數據。 * 如果采用批量增加可以使用saveAll方法。 */ @Test public void save() { User user = User.builder().username("張三").password("zhangsan").email("zhangsan@qq.com").build(); User result = userRepository.save(user); System.out.println(result); //User(id=1, username=張三, password=zhangsan, email=zhangsan@qq.com) } /** * 新增與更新用的是同一個方法,如果id已經存在則是更新,否則就是新增。 */ @Test public void update() { User user = User.builder().id(1).username("李四").password("lisi").email("lisi@qq.com").build(); User result = userRepository.save(user); System.out.println(result); //User(id=1, username=李四, password=lisi, email=lisi@qq.com) } /** * 查詢可以調用findOne,或者findById函數,findAll等函數,它們都是根據主鍵來查詢。 */ @Test public void findOne() { User user = User.builder().id(1).build(); Example<User> example = Example.of(user); Optional result1 = userRepository.findOne(example); System.out.println(result1.get()); //User(id=1, username=李四, password=lisi, email=lisi@qq.com) } /** * 根據id刪除數據。 * 可以調用delete,或者deleteById,或者deleteAll批量刪除,它們都是根據主鍵來刪除。 */ @Test public void delete() { User user = User.builder().id(1).build(); userRepository.delete(user); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看