1. IDEAのデータベースのデータベース機能との接続には:
問題が発生した場合は接続されていない、2つの解があります:ドライバの問題、5.1用のMySQLのためには、データベース・パスの後に2プラス:「?ServerTimezone = GMT」..
依存関係の2.はじめに:
<依存性> <依存性> <のgroupId> org.hibernate </のgroupId> <たartifactId>休止-のEntityManager </たartifactId> <バージョン> 5.4.3.Final </バージョン> </依存> <依存性> <のgroupId> ORG。 hibernate.javax.persistence </のgroupId> <たartifactId>休止-JPA-2.1-API </たartifactId> <バージョン> 1.0.2.Final </バージョン> </依存> <依存性> <groupIdを>のMySQL </のgroupId> <たartifactId>のmysql-コネクタ-javaの</たartifactId> <バージョン>5.1.47 </バージョン> </依存関係> <依存> <のgroupId> org.projectlombok </のgroupId> <たartifactId>ロンボク</たartifactId> <バージョン> 1.18.8 </バージョン> <スコープ>提供</スコープ> </依存> <依存性> <のgroupId> JUnitの</のgroupId > <たartifactId> JUnitの</たartifactId> <バージョン> 4.13-β-3 </バージョン> <スコープ>テスト</スコープ> </依存>
3.資源・ソース構成フォルダ内の「META-INF / persistence.xmlの」プロファイルを作成します。
<?xml version = "1.0"エンコード= "UTF-8"?> <持続性のxmlns = "http://java.sun.com/xml/ns/persistence"バージョン= "2.0"> <永続ユニット名= "JPA"> <プロパティ> <! -连接数据库的基本信息- > <プロパティ名= "javax.persistence.jdbc.dirver"値= "はcom.mysql.jdbc.Driver" /> <プロパティ名=」 javax.persistence.jdbc.url "値= "はjdbc:mysqlの:// localhostを:3306 / yootk"/> <プロパティ名= "javax.persistence.jdbc.user"値= "ルート"/> <プロパティ名=" javax.persistence.jdbc.password」値= "123456" /> <!-基本的な構成JPA休止の製品の基本的なプロパティを設定- > <プロパティ名=「hibernate.format_sql」値=「trueに」/> <プロパティ名= "hibernate.show_sql"値= "TRUE" /> <プロパティ名= "hibernate.hbm2ddl.auto"値= "更新" /> </プロパティ> </永続ユニット> </持続性>
4.経口エンティティクラスを作成します。
@Getter @Setter @Entity @Table(名 = "DEPT"、スキーマ= "yootk" ) パブリック クラスDeptEntity { @Id @GeneratedValue(戦略 = GenerationType.IDENTITYを) プライベート ロングDEPTNO。 プライベート文字列のDNAME。 プライベート文字列のLOC。 プライベート日付CREATEDATE。 プライベート整数NUM; プライベートダブルAVGSAL。
授業でテスト5.追加:
@Test 公共 ボイドtestAdd(){ // 永続ユニット1.エンティティ・クラス管理オブジェクト(のSessionFactory)を取得する のEntityManagerFactory Persistence.createEntityManagerFactory工場=(「JPAを」); // 2.工場管理エンティティ・クラスを作成します新しいエンティティクラス(セッション) のEntityManagerマネージャー= factory.createEntityManager(); // 3.増加したデータ操作を実現するには、トランザクション管理を行わなければならない manager.getTransaction()(開始);. // 4.インスタンス化されたオブジェクトPO 、対応するデータコンテンツ設定 DeptEntity部署= 新しい新しいDeptEntity(); dept.setDname( "落下セクタ" ); dept.setLoc( "水の国" )。 dept.setCreatedateを(新しい新しい日付()); dept.setNum( 10 ); dept.setAvgsal( 1.1 ); // 。5、永続的なレイヤ管理 manager.persist(部門)は、 //は増加し、成功した値の後に戻らなかった // 6、更新トランザクションの完了が必要コミット後 manager.getTransactionを()(コミット);. // トランザクションをコミット @ 7、対応するデータベース接続制御閉じる )(manager.closeと、 factory.close(); }