統合SSHの枠組みの中でMavenプロジェクト

図1に示すように、第一集積支柱と休止状態

関連のjarパッケージをインポート

休止状態の設定ファイルを書きます

<!DOCTYPE hibernate- 設定PUBLIC
         " - //休止/ Hibernate構成DTD 3.0 // EN" 
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
        
の<hibernate-設定を> 
    <セッション-factory> 
        
        <! -方言- > 
        <プロパティ名= "方言"> org.hibernate.dialect.MySQLDialect </プロパティ>       
        <プロパティ名= "show_sql">  </ property>の
        <マッピングクラス = "comの。 blb.entity.User "/> 
    </セッション-工場> 
</休止状態、設定>
        

web.xmlファイルにストラットするためのフィルタを設定します

<フィルター> 
        <フィルタ名> Struts2の</フィルタ名> 
        <フィルター- クラス > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </フィルター- クラス > 
    </フィルタ> 

    <フィルタマッピング> 
        <フィルタ名> Struts2の</フィルタ名> 
        の<url-pattern> / * </のurl-pattern> 
    </のfilter-mapping>

log4j2プロフィールを書きます

<?xml version = "1.0"エンコード= "UTF-8"?> 
<構成> 
    <アペンダ> 
        <コンソール名= "STDOUT"ターゲット= "SYSTEM_OUT"> 
            <PatternLayoutはパターン= "%D%-5p [%のT] %C {2}(%F:%L) - %M%N "/> 
        </コンソール> 
    </アペンダ> 
    <ロガー> 
        <ロガー名=" com.opensymphony.xwork2"レベル= "INFO" /> 
        <ロガー名= "org.apache.struts2"レベル= "デバッグ" /> 
        <ルートはレベル= "警告"> 
            <AppenderRef REF = "STDOUT" /> 
        </ルート> 
    </ロガー> 
</構成>

 

ストラットの設定ファイルを書きます

<?xmlのバージョン= "1.0"エンコード= "UTF-8"?> 
<!DOCTYPEはストラットPUBLIC
     " - // Apache Software Foundationの// DTD Strutsの設定2.5 // EN" 
    "http://struts.apache.org/dtds/struts-2.5.dtdは"> 

<>ストラット

    ストラット<定数名= "。 DEVMODE」値= "TRUE" /> 
    <定数名= "struts.enable.DynamicMethodInvocation"値= "TRUE" /> 
    
    < パッケージ名= "basicstruts2"が延びている支柱デフォルト、JSONデフォルト"厳密・メソッド呼び出し="を= "偽"> 
        <アクション名= "テスト" クラス = "com.blb.action.TestAction">
</ストラット>

テストするために使用されるUserエンティティクラスを書きます

休止状態のエンティティクラスマッピングファイルを書きます

<!DOCTYPE hibernate- マッピングPUBLIC
     " - //休止/休止状態のマッピングDTD 3.0 // EN" 
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
    
の<hibernate-マッピング> 
    < クラス NAME = "com.blb.entity.User"表= "t_user"> 
        <ID名= "ID"> 
            <ジェネレータクラス = "UUID"> </ジェネレータ> 
        </ ID> 
        
        <プロパティ名= "ユーザ名"> < /プロパティ> 
        <プロパティ名= "パスワード"> </ property>の
    </ クラス > 
</休止状態マッピング>

 

2、統合された春

関連のjarパッケージをインポート

 

Struts2のスプリング・プラグインジャーとバネ支柱ジャーパッケージを含有するバッグは、次いで、前に導入されたスプリングのjarパッケージをインポートする必要がないため、JARパッケージが削除されてもよいストラット。

春の設定ファイルに記述されapplicationContext.xmlを

<?xml version = "1.0"エンコード= "UTF-8"?> 
<豆のxmlns = "http://www.springframework.org/schema/beans" 
    のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス" 
    のxmlns:TX = "http://www.springframework.org/schema/tx" 
    のxmlns:AOP = "http://www.springframework.org/schema/aop" 
    のxmlns:コンテキスト =" http://www.springframework.org/schema/context " 
    XSI:のschemaLocation =" http://www.springframework.org/schema/beans 
                        ます。https:// www.springframework.org/schema/beans/spring-beans。 XSD 
                        ます。http:// www.springframework。ORG /スキーマ/コンテキスト
                           のhttp://www.springframework.org/schema/context/spring-context.xsd 
                           ます。http:// www.springframework.org/schema/tx 
                        ます。http:// www.springframework.org/schema/tx/spring-tx.xsd 
                        のhttp:/ / www.springframework.org/schema/aop 
                         ます。https:// www.springframework.org/schema/aop/spring-aop.xsd ">
     
    <コンテキスト:コンポーネント・スキャンベース-のパッケージ =" com.blb」/> 
            
        <! -ひかりデータソース数据源- > 
     <ビーンID = "データソース" クラス = "com.zaxxer.hikari.HikariDataSource">
      <! - <プロパティ名= " driverClassName"値= "$ {db.driverClass}" /> - > <! - システムが自動的に特定していない場合を除き、指定せずに- > 
      <プロパティ名= "jdbcUrlと"値= "JDBC:MySQLの:// localhostの:? 3306 / MENUのuseUnicode =真&#038に、characterEncoding = UTF-8" /> 
      <プロパティ名= "ユーザ名"値= "ルート" /> 
      <プロパティ名= "パスワード"値=「ルート「/> 
       <! -安全性を確保するため、trueに接続するように構成されたデータベースを読み取り専用- > 
      <プロパティ名=」falseに読み取り専用「の値=」「/> 
      <! -接続プール割り当てられた接続を待っているの最大の長さ(ミリ秒) 、その時は持っていない、まだ使用可能な接続ののSQLException、デフォルトが発生します。30秒- > 
      <プロパティ名= "ConnectionTimeoutの"値= "30000" /> 
      <!-アイドル状態で接続するときの最大長さ(ミリ秒)、放出された残業(退職)、デフォルト:10分- > 
      <プロパティ名=「のidleTimeout」値=「600000」/>
      < - (退職)にリリースされた生涯(ミリ秒)に接続され、タイムアウトが使用されていない、デフォルト:!30分は、以下のデータベースよりも30秒のタイムアウトを設定し、MySQLは参照パラメータ( 'のようなショーの変数をWAIT_TIMEOUTタイムアウト%%「;) - > 
      <プロパティ名= "MAXLIFETIME"値= "1800000" /> 
      < -プールで許可される最大接続数!。デフォルト:10;推奨式:((2 * core_count)effective_spindle_count用+) - > 
      <プロパティ名= "maximumPoolSize"値= "15" /> 
     </ビーン> 
    
     <= "mySessionFactoryの"ビーンIDをクラス = " org.springframework.orm.hibernate5.LocalSessionFactoryBean "> 
        <プロパティ名="データソース"REF ="データソース"/> 
        <プロパティ名=" configLocations "値=" hibernate.cfg.xmlの「/> 
    </豆>

データソースを使用してひかりデータソースは、関連するjarファイルのパッケージをインポートします

そして、web.xmlファイルで春のリスナーを設定します

  <コンテキストPARAM> 
        の<param-name>のcontextConfigLocation </ PARAM名> 
        の<param-value>のクラスパス:applicationContext.xmlを</ PARAM値> 
    </コンテキスト-param>の
    <リスナー> 
        <listener- クラス > org.springframework .web.context.ContextLoaderListener </ listener- クラス > 
    </リスナー>

最後に、テストコードを書きます

パブリックストリング選択(){ 
        セッションセッション = HibernateUtil.getSession()。
        トランザクショントランザクション = session.beginTransaction(); 
        
        クエリ <ユーザー>クエリ= session.createQuery( "ユーザーから" ); 
        リスト <ユーザ>リスト= query.list();
        (ユーザーユーザー:リスト){ 
            System.out.printlnは(ユーザ)。
        } 
        戻り成功を、
    }

正常に実行は、データベースメニューt_userテーブル内のデータをプリントアウトします後

 

おすすめ

転載: www.cnblogs.com/miludeer/p/11128661.html