약 SSH 구성 참조 : https://www.cnblogs.com/chenjiahao9527/p/11253964.html
배경을 작성하는 SSH를 사용하여 :
로그인 및 등록 :
엔티티 클래스 : 사용자
패키지 com.cjh.crud.entity; 공용 클래스 사용자 { 개인 정수 ID; 공공 정수 getId () { 반환 아이디; } 공개 무효 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 버전 = "1.0"인코딩 = "UTF-8"?> <DOCTYPE 최대 절전 모드 매핑을 PUBLIC! "- // 최대 절전 모드 / 최대 절전 모드 매핑 DTD 3.0 // EN" "http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> <최대 절전 모드 매핑> <클래스 명 ="com.cjh.vue.entity.User "테이블 ="t_vue_user "> <ID 이름 ="아이디 "유형 ="java.lang의. 정수 '항목 = "ID"> <발생기 클래스 = "증가"> </ 발전기> </ ID> <속성 명 = "UNAME"TYPE = "java.lang.String의" 열 = "UNAME"> </ property>를 <속성 명 = "PWD"TYPE = "java.lang.String의" 열 = "PWD"> </ 속성> </ 클래스> </ 최대 절전 모드 매핑>
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 { / ** *用户登录 파라미터 : 사용자 * @return * / 공공 사용자 로그인 (사용자 사용자) { this.getHibernateTemplate를 반환 (). 실행 (새 HibernateCallback <사용자> () { @Override 공공 사용 doInHibernate (세션 세션) HibernateException이 발생 { // TODO 자동 생성 방법 스텁 리턴 (사용자) session.createQuery는 ( "사용자로부터 끝나면 uname = '"+ user.getUname () + "'와 PWD ="+ user.getPwd ()) 목록 () 수 (0)..; } }); } / ** *用户注册 파라미터 : 사용자 * @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 공개 목록 <TreeNode를> 쿼리 () { // TODO 자동 생성 방법 스텁 반환 treeNodeDao.query (); } }
내부 그리고 스프링 hibernate.xml 엔티티 매핑 구성 :
<값> COM / CJH / VUE / 개체 / user.hbm.xml </ 값>
구성 spring.crud.xml :
<? XML 버전 = "1.0"인코딩 = "UTF-8"?> <콩의 xmlns = "http://www.springframework.org/schema/beans" 의 xmlns :이 xsi = "http://www.w3.org / 2001 / 된 XMLSchema 인스턴스 " XSI :의 schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd을 "> <! - userDao -> <= "baseDao"> </ 콩> 콩 ID = "userDao"클래스 = "com.cjh.vue.dao.UserDao"부모 <콩 ID = "userBiz"클래스 = "com.cjh.vue. biz.impl.UserBizImpl "> <속성 이름 ="userDao "REF ="userDao "> </ 부동산> </ 콩> <콩 ID ="userAction "클래스 ="com.cjh.vue.web.UserAction "부모 ="baseAction "> <속성 이름 ="userBiz "REF ="userBiz "> </ 부동산> </ 빈> </ 콩>
웹 층 :
패키지 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 (사용자)); NULL을 반환; } / ** *用户注册 * * @param 사용자 * @return * / 공용 문자열 레지스터 () { userBiz.register (사용자); NULL을 반환; } @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를> 쿼리 () { 세션 세션 = this.getHibernateTemplate () getSessionFactory () OpenSession에 ()..; session.beginTransaction (); 목록 <TreeNode를>의 TreeNode super.executeQuery = (세션 "에서의 TreeNode 여기서 treeNodeType = 1"NULL, NULL); 의 TreeNode를 반환; } }
다른 구성하게되지 외래 키 위와 동일
XML :
<? XML 버전 = "1.0"인코딩 = "UTF-8"?> <DOCTYPE 최대 절전 모드 매핑을 PUBLIC! "- // 최대 절전 모드 / 최대 절전 모드 매핑 DTD 3.0 // EN" "http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> <> 매핑 최대 절전 모드 <클래스 명 ="com.cjh.crud.entity.TreeNode "테이블 ="t_crud_tree_node "> <ID 이름 ="노드 아이디 "유형 ="java.lang의를. 정수 '항목 = "tree_node_id"> <발생기 클래스 = "증가"/> </ ID> <속성 명 = "여기서 nodeName"TYPE = "java.lang.String의" 열 = "tree_node_name"> </ property>를 <속성 명 = "treeNodeType"TYPE = "java.lang.Integer의" 열 = "tree_node_type"> </ property>를 <속성 명 = "위치"TYPE = "java.lang.Integer의" 열 = "위치"> </ 속성> <속성 명 = "URL"TYPE = "java.lang.String의" 열 = "URL"> </ 부동산> <대일 이름 = "부모"클래스 = "com.cjh.crud.entity.TreeNode"열 = "parent_node_id"/> <설정 이름 = "어린이"캐스케이드 = "저장 업데이트를"역 = " 진정한 "> <키 컬럼 ="parent_node_id "> </ 키> <일대 클래스 ="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; / ** *节点请求액션 * / 공용 클래스 TreeNodeAction는 BaseAction {확장 개인 TreeNodeBiz treeNodeBiz는; 공공 TreeNodeBiz getTreeNodeBiz는 () { treeNodeBiz를 반환; } 공개 무효 setTreeNodeBiz (TreeNodeBiz treeNodeBiz) { this.treeNodeBiz = treeNodeBiz; } / ** *加载树形菜单 * @return * / 공공 문자열 쿼리 () { 목록 <TreeNode를> 목록 = treeNodeBiz.query (); (TreeNode를 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 * / 공공 목록 <기사> 목록 () { 세션 세션 = this.getHibernateTemplate () getSessionFactory () OpenSession에 ()..; session.beginTransaction (); (NULL, NULL, "기사에서"세션) super.executeQuery를 반환; } / ** *删除 파라미터 : 기사 * / 공공 무효 삭제 (기사 기사) { . this.getHibernateTemplate는 () (기사를) 삭제; } / ** *添加 파라미터 : 기사 * @return * / 공공 무효의 추가 (기사 기사) { . this.getHibernateTemplate는 () (기사를) 저장; } / ** *修改 파라미터 : 기사 * / 공공 무효 업데이트 (기사 기사) { this.getHibernateTemplate () 업데이트 (기사를).; } }
XML :
<? XML 버전 = "1.0"인코딩 = "UTF-8"?> <DOCTYPE 최대 절전 모드 매핑을 PUBLIC! "- // 최대 절전 모드 / 최대 절전 모드 매핑 DTD 3.0 // EN" "http://www.hibernate.org/dtd /hibernate-mapping-3.0.dtd "> <최대 절전 모드 매핑> <클래스 테이블 ="t_crud_articles "이름 ="com.cjh.crud.entity.Articles "> <아이디 이름 ="아이디 "유형 ="java.lang의. 정수 '항목 = "ID"> <발생기 클래스 = "증가"> </ 발전기> </ ID> <속성 명 = "제목"TYPE = "java.lang.String의" 열 = "제목"> </ property>를 <속성 명 = "본체"TYPE = "java.lang.String의" 열 = "본체"> </ 속성> </ 클래스> </ 최대 절전 모드 매핑>
편물:
패키지 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 자동 생성 방법 스텁 기사를 반환; } 공공 문자열 목록 () { 목록 <기사>리스트 2 = articlesBiz.list (); (기사들 :리스트 2)에 대한 { 에서 System.out.println (들); } NULL을 반환; } 공공 무효 삭제 () { articlesBiz.remove (기사); } 파라미터 : () { articlesBiz.update (기사); } 공공 무효의 추가 () { articlesBiz.add (기사); } }