SSH統合2

SSHの設定を参照してください:https://www.cnblogs.com/chenjiahao9527/p/11253964.html

背景を書くためにSSHを使用しました:

 ログインと登録:

エンティティクラス:ユーザー

パッケージcom.cjh.crud.entity。

パブリッククラスユーザー{ 
	プライベート整数ID。

	公共の整数のgetId(){ 
		IDを返します。
	} 

	公共ボイドSETID(整数ID){ 
		this.id = ID。
	} 

	プライベート文字列のuname。
	プライベート文字列のPWD; 

	パブリック文字列getUname(){ 
		のunameを返します。
	} 

	公共ボイドsetUname(文字列のuname){ 
		this.uname =のuname。
	} 

	パブリック文字列getPwd(){ 
		PWDを返します。
	} 

	公共ボイドSETPWD(文字列のPWD){ 
		this.pwd = PWD。
	} 

	@Override 
	パブリック文字列のtoString(){
		リターン"ユーザー[ID =" + ID + "のuname =" +のuname + "PWD =" + PWD + "]"。
	} 

}

  エンティティクラスコンフィギュレーションファイルUser.hbm.xml:

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPE休止状態マッピングをPUBLIC!
        " - //休止/休止状態のマッピングDTD 3.0 // EN" 
        「http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> 
の<hibernateマッピング> 
    <クラス名=" com.cjh.vue.entity.User "テーブル= "t_vue_user"> 
          <id名= "ID"タイプ="れるjava.lang。整数」列= "ID"> 
            <ジェネレータクラス= "増加"> </ジェネレータ> 
        </ ID> 
        <プロパティ名= "のuname"タイプ= "java.lang.Stringで" 
                  カラム= "のuname"> 
        </プロパティ>     
        <プロパティ名= "PWD"タイプ= "java.lang.Stringで" 
                  列= "PWD"> 
        </ property>の
        </クラス>
</休止状態マッピング>

  dao层:

パッケージcom.cjh.crud.dao。



輸入org.hibernate.HibernateException。
インポートのorg.hibernate.Session; 
輸入org.springframework.orm.hibernate5.HibernateCallback; 

輸入com.cjh.base.dao.BaseDao。
輸入com.cjh.crud.entity.User。

パブリッククラスUserDaoが延びBaseDao { 

	/ ** 
	 *用户登录
	 * @paramユーザー
	 * @return 
	 * / 
	 パブリックユーザログイン(ユーザユーザ){ 
		 this.getHibernateTemplateを返します()。実行(新しいHibernateCallback <ユーザー>(){ 

			@Override 
			パブリックユーザーdoInHibernate(セッションセッション)HibernateExceptionで{スロー
				// TODO自動生成方法スタブを
				。。リターン(ユーザー)session.createQuery( "ユーザーからどこのuname = ' "+ user.getUname()+"'とPWD =" + user.getPwd())リスト()(0)を取得。
			} 
			 
			 
		})。
		 
	 } 
	 / ** 
	  *用户注册
	  * @paramユーザー
	  * @return 
	  * / 
	 パブリックINTレジスタ(ユーザユーザ){ 
		 リターン(INT)this.getHibernateTemplate()セーブ(ユーザ)。
	 } 
	 
	
}

  ビズ:

パッケージcom.cjh.crud.biz。

輸入com.cjh.crud.entity.User。

パブリックインターフェイスUserBiz { 
	/ ** 
	 *用户登录
	 * 
	 * @paramユーザー
	 * @return 
	 * / 
	パブリックユーザログイン(ユーザユーザ); 

	/ ** 
	 *用户注册
	 * 
	 * @paramユーザー
	 * @return 
	 * / 
	公共int型のレジスタ(ユーザユーザ)。


}

  IMPL:

パッケージcom.cjh.crud.biz.impl。

輸入はjava.util.List; 

輸入com.cjh.crud.biz.TreeNodeBiz。
輸入com.cjh.crud.dao.TreeNodeDao。
輸入com.cjh.crud.entity.TreeNode。

パブリッククラスTreeNodeBizImplはTreeNodeBiz {実装
	
	プライベートTreeNodeDao treeNodeDaoを。
	

	公共TreeNodeDao getTreeNodeDao(){ 
		treeNodeDaoを返します。
	} 


	公共ボイドsetTreeNodeDao(TreeNodeDao treeNodeDao){ 
		this.treeNodeDao = treeNodeDao。
	} 


	@Override 
	パブリックリスト<ツリーノード>クエリ(){ 
		// TODO自動生成方法スタブ
		リターンtreeNodeDao.query()。
	} 

}

  その後、ばねhibernate.xmlエンティティマッピング設定内部:

				<値> COM / CJH / VUE /エンティティ/ user.hbm.xml </ value>の

  設定spring.crud.xml:

<?xml version = "1.0"エンコード= "UTF-8"?> 
<豆のxmlns = "http://www.springframework.org/schema/beans" 
       のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス」
       のxsi:schemaLocationの= "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 

    <! - userDao - > 
    <ビーンID = "userDao"クラス= "com.cjh.vue.dao.UserDao"親= "baseDao"> </ビーン> 

    <ビーンID = "userBiz"クラス= "com.cjh.vue。 biz.impl.UserBizImpl "> 
        <プロパティ名=" userDao "REF = "userDao"> </ property>の
    </ビーン> 

    <ビーンID = "userAction"クラス="com.cjh.vue.web.UserAction」親= "baseAction"> 
        <プロパティ名= "userBiz" REF = "userBiz"> </ property>の
    </豆> 
</豆>

  ウェブ層:

 

 

 

 

パッケージcom.cjh.crud.web。

輸入com.cjh.base.web.BaseAction。
輸入com.cjh.crud.biz.UserBiz。
輸入com.cjh.crud.entity.User。
輸入com.opensymphony.xwork2.ModelDriven。

パブリッククラスUserActionはBaseActionがModelDriven <ユーザー> {実装拡張
	プライベートUserBiz userBizを。
	プライベートユーザのユーザ=新しいユーザー(); 

	公共UserBiz getUserBiz(){ 
		userBizを返します。
	} 

	公共ボイドsetUserBiz(UserBiz userBiz){ 
		this.userBiz = userBiz。
	} 

	/ ** 
	 *用户登录
	 * 
	 * @param user`1 
	 * @return 
	 * / 

	パブリック文字列ログイン(){ 
		System.out.printlnは(userBiz.login(ユーザ))。
		ヌルを返します。
	} 

	/ ** 
	 *用户注册
	 * 
	 * @paramユーザー
	 * @return 
	 * / 
	パブリック文字列レジスタ(){ 
		userBiz.register(ユーザ)。
		ヌルを返します。
	} 
	


	@Override 
	パブリックユーザgetModel(){ 
		// TODO自動生成方法スタブ
		戻りユーザ。
	} 

	
	
}

  ツリーツリー:

DAO:

パッケージcom.cjh.crud.dao。

輸入はjava.util.List; 

輸入org.hibernate.Hibernate。
インポートのorg.hibernate.Session; 

輸入com.cjh.base.dao.BaseDao。
輸入com.cjh.crud.entity.TreeNode。

パブリッククラスTreeNodeDaoが延びBaseDao { 

    / ** 
     *这是加载树形菜单节点
     * @return 
     * / 
    公共の一覧<のTreeNode>クエリ(){ 
        セッションsession = this.getHibernateTemplate()のgetSessionFactory()のOpenSession()。。。
        session.beginTransaction(); 
        リスト<ツリーノード>のTreeNode = super.executeQuery(セッション、 "ツリーノードからここtreeNodeType = 1"、NULL、NULL); 
        TreeNodeを返します。
    } 


}

  
他の構成は行われていない外部キー上記と同じです

XML:

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPE休止状態マッピングをPUBLIC!
        " - //休止/休止状態のマッピングDTD 3.0 // EN" 
        「http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> 
の<hibernateマッピング> 
    <クラス名=" com.cjh.crud.entity.TreeNode "テーブル= "t_crud_tree_node"> 
        <ID名= "のnodeId"タイプ="れるjava.lang。整数」列= "tree_node_id"> 
            <ジェネレータクラス= "増加" /> 
        </ ID> 
        <プロパティ名= "nodeNameの"タイプ= "java.lang.Stringで" 
                  カラム= "tree_node_name"> 
        </プロパティ>
        <プロパティ名= "treeNodeType"タイプ= "java.lang.Integerの" 
                  列= "tree_node_type"> 
        </ property>の
        <プロパティ名= "位置"タイプ= "java.lang.Integerの" 
                  列= "位置"> 
        </ property>の
        <プロパティ名= "URL"タイプ= "java.lang.Stringで" 
                  列= "URL"> 
        </プロパティ>    
        <多対一名=「親」クラス=「com.cjh.crud.entity.TreeNode」欄=「parent_node_id」/> 
        <セット名=「子供」カスケード=「セーブ・アップデートを」逆=」真の"> 
            <キー列=" parent_node_id "> </ key>を
            <1対多のクラス=" com.cjh.crud.entity.TreeNode "/> 
        </設定> 

    </クラス> 
</休止状態マッピング>

  

ウェブ:

パッケージcom.cjh.crud.web。

輸入はjava.util.List; 

輸入com.cjh.base.web.BaseAction。
輸入com.cjh.crud.biz.TreeNodeBiz。
輸入com.cjh.crud.entity.TreeNode。

/ ** 
 *节点请求アクション
 * / 
publicクラスTreeNodeActionはBaseAction {拡張し

    、プライベートTreeNodeBiz treeNodeBizを 

    公共TreeNodeBiz getTreeNodeBiz(){ 
        treeNodeBizを返します。
    } 

    公共ボイドsetTreeNodeBiz(TreeNodeBiz treeNodeBiz){ 
        this.treeNodeBiz = treeNodeBiz。
    } 

    / ** 
     *加载树形菜单
     * @return 
     * / 
    パブリック文字列のクエリ(){ 
        リスト<ツリーノード>リスト= treeNodeBiz.query()。
       (ツリーノードT:リスト)のための{ 
		のSystem.out.println(T); 
	} 
        はnullを返します。
    } 


}

  CRUD:

DAO:

パッケージcom.cjh.crud.dao。

輸入はjava.util.List; 

インポートのorg.hibernate.Session; 

輸入com.cjh.base.dao.BaseDao。
輸入com.cjh.crud.entity.Articles。

パブリッククラスArticlesDaoが延びBaseDao { 
	/ ** 
	 *查询
	 * @return 
	 * / 
	公共の一覧<論説>リスト(){ 
		
		セッションsession = this.getHibernateTemplate()のgetSessionFactory()のOpenSession()。。。
		session.beginTransaction(); 
		(NULL、NULL、 "記事から"、セッション)super.executeQueryを返します。
	} 
	/ ** 
	 *删除
	 * @paramの記事
	 * / 
	公共ボイド削除(記事記事){ 
	 this.getHibernateTemplate()(記事)を削除します。
	}
   / ** 
    *添加
    * @paramの記事
    * @return 
    * / 
	 公共ボイド追加(記事記事){ 
		  this.getHibernateTemplate()(記事)を保存します。; 
		 
	 } 
	 / ** 
	  *修改
	  * @paramの記事
	  * / 
	 公共ボイドアップデート(記事記事){ 
		 this.getHibernateTemplate()更新(記事)。
	 } 
}

  XML:

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPE休止状態マッピングをPUBLIC!
        " - //休止/休止状態のマッピングDTD 3.0 // EN" 
        「http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> 
の<hibernateマッピング> 
    <クラステーブル=" t_crud_articles "NAME = "com.cjh.crud.entity.Articles"> 
        <ID名= "ID"タイプ="れるjava.lang。整数」列= "ID"> 
            <ジェネレータクラス= "増加"> </ジェネレータ> 
        </ ID> 
        <プロパティ名= "タイトル"タイプ= "java.lang.Stringで" 
                  カラム= "タイトル"> 
        </プロパティ>
        <プロパティ名= "身体"タイプ= "java.lang.Stringで" 
                  列= "身体"> 
        </ property>の
    </クラス>
</休止状態マッピング>

  



ウェブ:

パッケージcom.cjh.crud.web。

輸入はjava.util.List; 

輸入com.cjh.base.web.BaseAction。
輸入com.cjh.crud.biz.ArticlesBiz。
輸入com.cjh.crud.entity.Articles。
輸入com.opensymphony.xwork2.ModelDriven。

パブリッククラスArticlesActionはBaseActionがModelDriven <論説> {実装拡張
	プライベートArticlesBiz articlesBizを。

	公共ArticlesBiz getArticlesBiz(){ 
		articlesBizを返します。
	} 

	公共ボイドsetArticlesBiz(ArticlesBiz articlesBiz){ 
		this.articlesBiz = articlesBiz。
	} 

	プライベート記事記事=新しい記事(); 

	@Override 
	公共の記事getModel(){ 
		// TODO自動生成されたメソッドスタブ
		記事を返します。
	} 

	パブリック文字列リスト(){ 
		リスト<論文> LIST2 = articlesBiz.list()。
		(記事S:LIST2)用{ 
			System.out.printlnは(S); 
		} 
		はnullを返します。

	} 

	公共ボイド削除(){ 
		articlesBiz.remove(記事)。
	} 

	公共ボイド更新(){ 
		articlesBiz.update(記事)。
	} 

	公共ボイド追加(){ 
		articlesBiz.add(記事)。
	} 

}

  

おすすめ

転載: www.cnblogs.com/chenjiahao9527/p/11261658.html