日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Java笔记-使用jpa连接mysql数据库

發布時間:2025/3/15 数据库 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记-使用jpa连接mysql数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

?

基本概念

代碼與實例


?

基本概念

此處的基本概念來至于:https://www.cnblogs.com/yunche/p/10279324.html

?

JPA(Java Persistence API)用于對象持久化的 API,是 Java EE 5.0 平臺標準的 ORM 規范,使得應用程序以統一的方式訪問持久層。

JDBC 也是一種規范和接口,不過 JDBC 是面向 SQL 的,使用起來比較繁瑣。所以就有了 ORM 框架,建立了 Java 對象與數據庫表之間的映射關系,可以通過直接操作對象來實現持久化,簡化了操作的繁雜度。而 JPA 就是 ORM 框架的規范,值得一提的是 Hibernate 是符合 JPA 規范的,而 MyBatis 卻不符合,因為 MyBatis 還是需要寫 SQL 的。

?

?

?

代碼與實例

下面來說明下具體使用:

此處的數據如下:

程序運行截圖如下:

先貼下源碼再說明:

程序結構如下:

ProductCategory.java

package sqltabledemo.demo.dataobject;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;@Entity public class ProductCategory {@Id@GeneratedValueprivate Integer categoryId;private String categoryName;private Integer categoryType;public Integer getCategoryId() {return categoryId;}public void setCategoryId(Integer categoryId) {this.categoryId = categoryId;}public String getCategoryName() {return categoryName;}public void setCategoryName(String categoryName) {this.categoryName = categoryName;}public Integer getCategoryType() {return categoryType;}public void setCategoryType(Integer categoryType) {this.categoryType = categoryType;}@Overridepublic String toString() {return "ProductCategory{" +"categoryId=" + categoryId +", categoryName='" + categoryName + '\'' +", categoryType=" + categoryType +'}';} }

ProductCategoryRepository.java

package sqltabledemo.demo.repository;import org.springframework.data.jpa.repository.JpaRepository; import sqltabledemo.demo.dataobject.ProductCategory;public interface ProductCategoryRepository extends JpaRepository<ProductCategory, Integer> {}

application.yml

spring:datasource:driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://192.168.164.148/sell?characterEncoding=utf-8&useSSL=falsejpa:show-sql: true

ProductCategoryRepositoryTest.java

package sqltabledemo.demo.repository;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import sqltabledemo.demo.dataobject.ProductCategory;@RunWith(SpringRunner.class) @SpringBootTest public class ProductCategoryRepositoryTest {@Autowiredprivate ProductCategoryRepository repository;@Testpublic void findOneTest(){ProductCategory productCategory = repository.findOne(1);System.out.println(productCategory);} }

maven依賴如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.21.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>sqlTableDemo</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

下面來簡單說明下:

ProductCategory這個類:

這里要對比下數據庫:

從這里可以發現,java就像情人一樣,把能做的都做好了。不向C++,要天天哄著,真是煩。

這里表名和字段名如果都采用駱駝峰命名法,即可完成映射,無需自己配置。

下面來演示下,手動進行映射!

如果我要把這個表映射成其他的表:

程序運行截圖如下:

修改如下:

源碼如下:

package sqltabledemo.demo.dataobject;import javax.persistence.*;@Entity @Table(name = "seller_info") public class ProductCategory {@Id@GeneratedValue@Column(name = "id")private Integer categoryId;@Column(name = "username")private String categoryName;@Column(name = "openid")private Integer categoryType;public Integer getCategoryId() {return categoryId;}public void setCategoryId(Integer categoryId) {this.categoryId = categoryId;}public String getCategoryName() {return categoryName;}public void setCategoryName(String categoryName) {this.categoryName = categoryName;}public Integer getCategoryType() {return categoryType;}public void setCategoryType(Integer categoryType) {this.categoryType = categoryType;}@Overridepublic String toString() {return "ProductCategory{" +"categoryId=" + categoryId +", categoryName='" + categoryName + '\'' +", categoryType=" + categoryType +'}';} }

?

總結

以上是生活随笔為你收集整理的Java笔记-使用jpa连接mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。