色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

IDEA 中創(chuàng)建Spring Data Jpa 項(xiàng)目的示例代碼

瀏覽:138日期:2023-09-09 15:07:28

一、IDEA 創(chuàng)建工程

使用IDEA 創(chuàng)建工程的過程,使用文字做簡(jiǎn)單描述。

選擇工程類別【Spring Initializr】。 設(shè)置工程的元數(shù)據(jù)【Metadata】,根據(jù)自己的情況填寫即可。 設(shè)置工程的依賴;在【W(wǎng)eb】中選擇“Spring Web”;在【SQL】中選中“Spring Data JPA”、“Spring Data JDBC”、“MySQL Driver”、“JDBC API”。選中的可能有些多,如果多了自己刪除掉。

做完最后一步,工程就創(chuàng)建完成了。

PS:在配置 IEAD 中的 Maven 功能時(shí),將“Always update snapshots” 選中,這樣就會(huì)及時(shí)更新測(cè)試包,并且不緩存Maven 的錯(cuò)誤信息。

1.1、Pom 文件中的依賴信息

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency></dependencies>

二、編輯配置文件

在 resources 目錄中創(chuàng)建配置文件:application.yml;添加數(shù)據(jù)源等信息。

spring: datasource: url: jdbc:mysql://dbserver.com:3306/user?useUnicode=true&characterEncoding=utf-8 username: username password: password driver-class-name: com.mysql.cj.jdbc.Driverserver: port: 8080 compression: enabled: true servlet: context-path: /

三、編寫實(shí)體類

創(chuàng)建User的實(shí)體類 Entity/User.java(省略了getter&setter方法;如果不寫的話,會(huì)對(duì)數(shù)據(jù)操作失敗)。

/** * 使用JPA注解配置映射關(guān)系 */@Entity //告訴JPA這是一個(gè)實(shí)體類(和數(shù)據(jù)表映射的類)@Table(name = 'tbl_user') //@Table來指定和哪個(gè)數(shù)據(jù)表對(duì)應(yīng);如果省略,默認(rèn)表名就是該類名的小寫:userpublic class User { @Id //表示這個(gè)屬性是數(shù)據(jù)表中的主鍵 @GeneratedValue(strategy = GenerationType.IDENTITY) //還是一個(gè)自增的主鍵 private Integer id; @Column(name = 'last_name',length = 50) //這是和數(shù)據(jù)表對(duì)應(yīng)的一個(gè)列,可以定義其在數(shù)據(jù)表中的名字及長(zhǎng)度 private String lastName; @Column //省略的情況,默認(rèn)列名就是屬性名 private String email;}

使用JPA的一個(gè)好處就是,它能夠根據(jù)實(shí)體類自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表,只需簡(jiǎn)單配置幾步即可:

在application.yml文件中增加(jpa 也是spring下的一個(gè)屬性,所以它也是在spring這個(gè)層級(jí)下的):

jpa: hibernate: ddl-auto: update #定義數(shù)據(jù)表的生成策略。update:更新或者創(chuàng)建數(shù)據(jù)表結(jié)構(gòu) show-sql: true #控制臺(tái)顯示sql語句

運(yùn)行主程序,控制臺(tái)會(huì)報(bào)錯(cuò)找不到對(duì)應(yīng)的表,但是這實(shí)際上是正常的,去數(shù)據(jù)庫(kù)看就可以發(fā)現(xiàn)名為tbl_user的表已經(jīng)創(chuàng)建成功了,而且是根據(jù)實(shí)體類中的設(shè)置創(chuàng)建的。

四、持久層接口

JPA中有許多封裝好的對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的方法,不需要我們?cè)賹憇ql語句,而是直接調(diào)用其中的方法,就可以完成對(duì)數(shù)據(jù)的操作了。而這時(shí),持久層只需繼承JpaRepository類就可以了。

/** * Dao/UserRepository.java * 繼承JpaRepository來完成對(duì)數(shù)據(jù)庫(kù)的操作 * JpaRepository<T,id>,T表示要進(jìn)行操作的實(shí)體類,id表示類的主鍵的類型 */public interface UserRepository extends JpaRepository<User,Integer> {}

五、控制層

編寫控制層代碼來測(cè)試一下是否成功。因?yàn)闆]有界面,所以這邊直接用@RestController注解來返回json串就好了,把持久層接口自動(dòng)注入進(jìn)來,直接調(diào)用其中對(duì)應(yīng)的方法。

@RestController@EnableAutoConfigurationpublic class UserController { @Autowired UserRepository userRepository; @GetMapping('/user/{id}') public User getUser(@PathVariable('id') Integer id) { Optional<User> optional = userRepository.findById(id); if (optional.isPresent()) { User user = optional.get(); return user; } else { return new User(); } } @GetMapping('/user') public User insertUser(User user) { User save = userRepository.save(user); return save; }}

六、測(cè)試

1.首先插入一條數(shù)據(jù):

地址欄輸入 :http://localhost:8080/user?lastName=zhangsan&email=aa

2、查詢:

地址欄輸入 :http://localhost:8080/user/1

到此這篇關(guān)于IDEA 中創(chuàng)建Spring Data Jpa 項(xiàng)目的示例代碼的文章就介紹到這了,更多相關(guān)IDEA 創(chuàng)建Spring Data Jpa 項(xiàng)目?jī)?nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产日韩视频在线观看 | 国产成人免费高清激情视频 | 欧美一级aa毛片禁片 | 国产精品亚洲综合天堂夜夜 | 久草国产在线 | 毛片高清 | 一级视频免费观看 | 欧美日韩亚洲国产 | 欧美日本一区亚洲欧美一区 | 欧美大片一级毛片 | 欧洲免费无线码二区5 | 日韩专区亚洲综合久久 | 国产在线视频网址 | 一级女性全黄久久生活片免费 | 88av视频| 97久久曰曰久久久 | 国产成人小视频在线观看 | 亚洲精品日韩在线一区 | 成人性一级视频在线观看 | 高清毛片一区二区三区 | 毛片一级在线观看 | 成年女人毛片免费视频 | 国产一级片儿 | 可以免费看黄的网站 | 欧美成人做性视频在线播放 | 97香蕉久久夜色精品国产 | 久久久久成人精品一区二区 | 国产精品无码久久久久 | 欧美扣逼视频 | 国产欧美日韩在线一区二区不卡 | 精品亚洲成a人片在线观看 精品亚洲成a人在线播放 | 中文字幕免费在线视频 | 国产短裙黑色丝袜在线观看下 | 久久99热只有视精品6国产 | 欧美日韩在线播一区二区三区 | 国产亚洲午夜精品a一区二区 | 美女一级毛片免费不卡视频 | 99爱在线视频这里只有精品 | 免费久久精品 | 亚洲精品国产美女在线观看 | 日韩在线不卡一区在线观看 |