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(記事)。 } }