記錄一下spring+struts+hibernate搭建的項目。javascript
目錄結構:html
spring-context.xml:java
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache" 5 xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context-4.3.xsd 10 http://www.springframework.org/schema/tx 11 http://www.springframework.org/schema/tx/spring-tx-4.3.xsd 12 http://www.springframework.org/schema/aop 13 http://www.springframework.org/schema/aop/spring-aop-4.3.xsd 14 http://www.springframework.org/schema/mvc 15 http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 16 http://www.springframework.org/schema/cache 17 http://www.springframework.org/schema/cache/spring-cache-4.1.xsd"> 18 19 20 <context:annotation-config /> 21 <!-- 接口代理 --> 22 <aop:aspectj-autoproxy proxy-target-class="true" /> 23 24 <!-- 配置文件 --> 25 <context:property-placeholder location="classpath:db.properties" ignore-unresolvable="true"/> 26 27 <!-- 掃描路徑 --> 28 <context:component-scan base-package="org.ss2hm.*" /> 29 30 <!-- 數據庫配置 --> 31 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" 32 init-method="init" destroy-method="close"> 33 <!-- 基本屬性 url、user、password --> 34 <property name="url" value="${jdbc.url}" /> 35 <property name="username" value="${jdbc.username}" /> 36 <property name="password" value="${jdbc.password}" /> 37 <!-- 配置初始化大小、最小、最大 --> 38 <property name="initialSize" value="${jdbc.initialSize}" /> 39 <property name="minIdle" value="${jdbc.minIdle}" /> 40 <property name="maxActive" value="${jdbc.maxActive}" /> 41 <!-- 配置獲取鏈接等待超時的時間 --> 42 <property name="maxWait" value="${jdbc.maxWait}" /> 43 <!-- 要啓用PSCache,PSCache對支持遊標的數據庫性能提高巨大,好比說oracle,必須配置大於0,當大於0時,poolPreparedStatements自動觸發修改成true。 --> 44 <property name="maxOpenPreparedStatements" value="${jdbc.maxOpenPreparedStatements}" /> 45 <!-- 配置間隔多久才進行一次檢測,檢測須要關閉的空閒鏈接,單位是毫秒 --> 46 <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" /> 47 <!-- 配置一個鏈接在池中最小生存的時間,單位是毫秒 --> 48 <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" /> 49 <!-- 用來檢測鏈接是否有效的sql,要求是一個查詢語句 --> 50 <property name="validationQuery" value="${jdbc.validationQuery}" /> 51 <!-- 建議配置爲true,不影響性能,而且保證安全性。申請鏈接的時候檢測, 若是空閒時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測鏈接是否有效 --> 52 <property name="testWhileIdle" value="${jdbc.testWhileIdle}" /> 53 <property name="testOnBorrow" value="${jdbc.testOnBorrow}" /> 54 <property name="testOnReturn" value="${jdbc.testOnReturn}" /> 55 <!-- 配置監控統計攔截的filters --> 56 <property name="filters" value="${jdbc.filters}" /> 57 <!-- 密碼加密 --> 58 <property name="connectionProperties" value="${jdbc.connectionProperties}" /> 59 </bean> 60 61 <!--配置session工廠--> 62 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 63 <property name="dataSource" ref="dataSource" /> 64 <!-- <property name="packagesToScan" value="org.sshm.model.*" /> --> 65 <!-- 加載實體類的映射文件位置及名稱 --> 66 <property name="mappingLocations" value="classpath:org/ss2hm/model/*.hbm.xml" /> 67 <property name="hibernateProperties"> 68 <props> 69 <prop key="hibernate.hbm2ddl.auto">true</prop> <!--hibernate根據實體自動生成數據庫表--> 70 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <!--指定數據庫方言--> 71 <prop key="hibernate.show_sql">true</prop> <!--在控制檯顯示執行的數據庫操做語句--> 72 <prop key="hibernate.format_sql">update</prop> <!--在控制檯顯示執行的數據操做語句(格式)--> 73 </props> 74 </property> 75 </bean> 76 <!-- 事務配置 聲明式事務--> 77 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 78 <property name="sessionFactory" ref="sessionFactory" /> 79 </bean> 80 81 <!-- 使用annotation定義事務 --> 82 <tx:annotation-driven transaction-manager="transactionManager"/> 83 84 <!-- Spring 調用 Hibernate 的持久化操做 --> 85 <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate"> 86 <property name="sessionFactory" ref="sessionFactory"></property> 87 </bean> 88 </beans>
struts.xml:jquery
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 <struts> 6 7 <!-- 指定由spring負責action對象的建立 --> 8 <constant name="struts.objectFactory" value="spring"></constant> 9 <!-- 全部匹配*.action的請求都有struts2處理 --> 10 <constant name="struts.action.extension" value="action"></constant> 11 <!-- 是否應用開發模式 --> 12 <constant name="struts.devMode" value="true"></constant> 13 <!-- struts配置文件改動後是否從新加載,2.3.14以前的版本有效 --> 14 <constant name="struts.configuration.xml.reload" value="true"></constant> 15 <!-- 設置瀏覽器是否緩存靜態內容,生產環境中可設置爲true --> 16 <constant name="struts.serve.static.browserCache" value="false"></constant> 17 <!-- 請求參數的編碼方式 --> 18 <constant name="struts.i18n.encoding" value="UTF-8"></constant> 19 <!-- 每次HTTP請求都從新加載系統資源,有助於開發--> 20 <constant name="struts.i18n.reload" value="true"></constant> 21 <!-- 文件上傳最大值 --> 22 <constant name="struts.multipart.maxSize" value="104857600"></constant> 23 <!-- 讓struts2支持動態方法調用 --> 24 <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> 25 <!-- action名稱中是否仍是用斜線--> 26 <constant name="struts.enable.SlashesInActionNames" value="false"></constant> 27 <!-- 容許標籤中使用表達式語法--> 28 <constant name="struts.tag.Syntax" value="true"></constant> 29 <!-- 對於WebLogic,Orion,OC4J此屬性設置爲true--> 30 <constant name="struts.dispather.parametersWorkaroud" value="false"></constant> 31 <!-- 自動注入 --> 32 <constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" /> 33 <!-- package name="spring-default" extends="struts-default,json-default"> 34 <interceptors> 35 <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/> 36 </interceptors> 37 </package> --> 38 </struts>
web.xml:git
1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3 "http://java.sun.com/dtd/web-app_2_3.dtd" > 4 5 <web-app> 6 <display-name>SS2HM</display-name> 7 <!-- struts2 --> 8 <filter> 9 <filter-name>struts2</filter-name> 10 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 11 </filter> 12 <filter-mapping> 13 <filter-name>struts2</filter-name> 14 <url-pattern>/*</url-pattern> 15 </filter-mapping> 16 17 <!-- 指定Spring配置文件所在路徑 --> 18 <context-param> 19 <param-name>contextConfigLocation</param-name> 20 <param-value>classpath:spring-context.xml</param-value> 21 </context-param> 22 <!-- 配置Spring的監聽器 --> 23 <listener> 24 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 25 </listener> 26 </web-app>
index.html:github
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <title>Spring_Struts_Hibernate_Maven_HTML_TEST_PAGE</title> 7 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> 8 </head> 9 10 <body> 11 <h2>Spring_Struts_Hibernate_Maven_HTML_TEST_PAGE</h2> 12 </body> 13 14 </html> 15 <script type="text/javascript"> 16 $(function() { 17 $.ajax({ 18 type: 'post', 19 url: "/SS2HM/common!getAll.action", 20 data: {data:JSON.stringify({str:"123"})}, 21 async: true, 22 cache: false, 23 success: function(data) { 24 console.log(data); 25 }, 26 crossDomain: true, 27 xhrFields: { 28 withCredentials: true 29 } 30 }); 31 }) 32 </script>
pom.xml:web
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>Spring_Struts_Hibernate_maven</groupId> 5 <artifactId>SS2HM</artifactId> 6 <packaging>war</packaging> 7 <version>0.0.1-SNAPSHOT</version> 8 <name>SS2HM Maven Webapp</name> 9 <url>http://maven.apache.org</url> 10 <properties> 11 <java.version>1.8</java.version> 12 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 13 <junit.version>4.12</junit.version> 14 <ch.qos.logback>1.1.7</ch.qos.logback> 15 <fastjson_version>1.2.37</fastjson_version> 16 <org.springframework.version>4.3.16.RELEASE</org.springframework.version> 17 <org.aspectj.aspectjweaver>1.8.7</org.aspectj.aspectjweaver> 18 <org.aspectj.aspectjrt>1.8.7</org.aspectj.aspectjrt> 19 <com.alibaba.druid>1.0.29</com.alibaba.druid> 20 <javax.servlet>3.1.0</javax.servlet> 21 <org.apache.maven.plugins>2.6</org.apache.maven.plugins> 22 <struts.version>2.3.20</struts.version> 23 </properties> 24 <dependencies> 25 <!-- 單元測試 --> 26 <dependency> 27 <groupId>junit</groupId> 28 <artifactId>junit</artifactId> 29 <version>${junit.version}</version> 30 <scope>test</scope> 31 </dependency> 32 <!-- 日誌 --> 33 <dependency> 34 <groupId>ch.qos.logback</groupId> 35 <artifactId>logback-classic</artifactId> 36 <version>${ch.qos.logback}</version> 37 </dependency> 38 39 <!-- json --> 40 <dependency> 41 <groupId>com.alibaba</groupId> 42 <artifactId>fastjson</artifactId> 43 <version>${fastjson_version}</version> 44 </dependency> 45 <!-- Spring 核心依賴 --> 46 <dependency> 47 <groupId>org.springframework</groupId> 48 <artifactId>spring-core</artifactId> 49 <version>${org.springframework.version}</version> 50 </dependency> 51 <dependency> 52 <groupId>org.springframework</groupId> 53 <artifactId>spring-context</artifactId> 54 <version>${org.springframework.version}</version> 55 </dependency> 56 <dependency> 57 <groupId>org.springframework</groupId> 58 <artifactId>spring-context-support</artifactId> 59 <version>${org.springframework.version}</version> 60 </dependency> 61 <dependency> 62 <groupId>org.springframework</groupId> 63 <artifactId>spring-test</artifactId> 64 <version>${org.springframework.version}</version> 65 </dependency> 66 <dependency> 67 <groupId>org.springframework</groupId> 68 <artifactId>spring-jdbc</artifactId> 69 <version>${org.springframework.version}</version> 70 </dependency> 71 <dependency> 72 <groupId>org.springframework</groupId> 73 <artifactId>spring-web</artifactId> 74 <version>${org.springframework.version}</version> 75 </dependency> 76 <dependency> 77 <groupId>org.springframework</groupId> 78 <artifactId>spring-orm</artifactId> 79 <version>${org.springframework.version}</version> 80 </dependency> 81 <!-- Struts2和Spring整合依賴 --> 82 <dependency> 83 <groupId>org.apache.struts</groupId> 84 <artifactId>struts2-spring-plugin</artifactId> 85 <version>2.3.20</version> 86 </dependency> 87 <dependency> 88 <groupId>org.apache.struts</groupId> 89 <artifactId>struts2-json-plugin</artifactId> 90 <version>2.3.20</version> 91 </dependency> 92 <dependency> 93 <groupId>org.apache.struts</groupId> 94 <artifactId>struts2-convention-plugin</artifactId> 95 <version>2.3.20</version> 96 </dependency> 97 <dependency> 98 <groupId>org.apache.struts</groupId> 99 <artifactId>struts2-core</artifactId> 100 <version>2.3.20</version> 101 </dependency> 102 103 <!-- hibernate --> 104 <dependency> 105 <groupId>org.hibernate</groupId> 106 <artifactId>hibernate-core</artifactId> 107 <version>4.2.3.Final</version> 108 </dependency> 109 <!-- 代理 --> 110 <dependency> 111 <groupId>org.aspectj</groupId> 112 <artifactId>aspectjrt</artifactId> 113 <version>${org.aspectj.aspectjrt}</version> 114 </dependency> 115 <dependency> 116 <groupId>org.aspectj</groupId> 117 <artifactId>aspectjweaver</artifactId> 118 <version>${org.aspectj.aspectjweaver}</version> 119 </dependency> 120 <!-- alibaba --> 121 <dependency> 122 <groupId>com.alibaba</groupId> 123 <artifactId>druid</artifactId> 124 <version>${com.alibaba.druid}</version> 125 </dependency> 126 <dependency> 127 <groupId>org.mariadb.jdbc</groupId> 128 <artifactId>mariadb-java-client</artifactId> 129 <version>1.5.9</version> 130 </dependency> 131 <!-- servlet --> 132 <dependency> 133 <groupId>javax.servlet</groupId> 134 <artifactId>javax.servlet-api</artifactId> 135 <version>${javax.servlet}</version> 136 <scope>provided</scope> 137 </dependency> 138 <!-- 分頁插件 --> 139 <dependency> 140 <groupId>com.github.pagehelper</groupId> 141 <artifactId>pagehelper</artifactId> 142 <version>4.1.4</version> 143 </dependency> 144 </dependencies> 145 <build> 146 <finalName>SS2HM</finalName> 147 <plugins> 148 <plugin> 149 <groupId>org.apache.maven.plugins</groupId> 150 <artifactId>maven-compiler-plugin</artifactId> 151 <version>3.1</version> 152 <configuration> 153 <source>${java.version}</source> 154 <target>${java.version}</target> 155 <encoding>${project.build.sourceEncoding}</encoding> 156 </configuration> 157 </plugin> 158 <!-- 打包時跳過單元測試 --> 159 <plugin> 160 <groupId>org.apache.maven.plugins</groupId> 161 <artifactId>maven-surefire-plugin</artifactId> 162 <version>2.19.1</version> 163 <configuration> 164 <skipTests>true</skipTests> 165 </configuration> 166 </plugin> 167 <!-- 不一樣環境的配置文件選擇 --> 168 <plugin> 169 <groupId>org.apache.maven.plugins</groupId> 170 <artifactId>maven-resources-plugin</artifactId> 171 <version>${org.apache.maven.plugins}</version> 172 <executions> 173 <execution> 174 <id>copy-resources</id> 175 <phase>compile</phase> 176 <goals> 177 <goal>copy-resources</goal> 178 </goals> 179 <configuration> 180 <!-- 覆蓋原有文件 --> 181 <overwrite>true</overwrite> 182 <outputDirectory>${project.build.outputDirectory}</outputDirectory> 183 <!-- 也能夠用下面這樣的方式(指定相對url的方式指定outputDirectory) <outputDirectory>target/classes</outputDirectory> --> 184 <!-- 待處理的資源定義 --> 185 <resources> 186 <resource> 187 <!-- 指定resources插件處理哪一個目錄下的資源文件 --> 188 <directory>src/main/resources/${package.environment}</directory> 189 <filtering>false</filtering> 190 </resource> 191 </resources> 192 </configuration> 193 <inherited></inherited> 194 </execution> 195 </executions> 196 </plugin> 197 </plugins> 198 <resources> 199 <resource> 200 <directory>src/main/java</directory> 201 <includes> 202 <include>**/*.properties</include> 203 <include>**/*.xml</include> 204 </includes> 205 <filtering>true</filtering> 206 </resource> 207 <resource> 208 <directory>src/main/resources</directory> 209 <includes> 210 <include>**/*.properties</include> 211 <include>**/*.xml</include> 212 </includes> 213 <filtering>true</filtering> 214 </resource> 215 </resources> 216 </build> 217 </project>
RequestCode:ajax
1 package org.ss2hm.code; 2 3 import org.apache.struts2.json.annotations.JSON; 4 5 public class RequestCode { 6 7 private Object data; 8 private int code; 9 private String msg; 10 11 public RequestCode() { 12 super(); 13 } 14 public RequestCode(Object data, int code, String msg) { 15 super(); 16 this.data = data; 17 this.code = code; 18 this.msg = msg; 19 } 20 @JSON 21 public Object getData() { 22 return data; 23 } 24 25 public void setData(Object data) { 26 this.data = data; 27 } 28 @JSON 29 public int getCode() { 30 return code; 31 } 32 public void setCode(int code) { 33 this.code = code; 34 } 35 @JSON 36 public String getMsg() { 37 return msg; 38 } 39 40 public void setMsg(String msg) { 41 this.msg = msg; 42 } 43 44 @Override 45 public String toString() { 46 return "RequestCode [data=" + data + ", code=" + code + ", msg=" + msg + "]"; 47 } 48 49 50 }
CommonAction:spring
1 package org.ss2hm.action; 2 3 import java.util.List; 4 import java.util.Map; 5 6 import javax.annotation.Resource; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 import org.apache.struts2.ServletActionContext; 11 import org.apache.struts2.convention.annotation.Action; 12 import org.apache.struts2.convention.annotation.Namespace; 13 import org.apache.struts2.convention.annotation.ParentPackage; 14 import org.apache.struts2.convention.annotation.Result; 15 import org.springframework.context.annotation.Scope; 16 import org.springframework.stereotype.Controller; 17 import org.ss2hm.code.RequestCode; 18 import org.ss2hm.model.CityModel; 19 import org.ss2hm.service.CommonService; 20 21 import com.alibaba.fastjson.JSON; 22 import com.opensymphony.xwork2.ActionSupport; 23 24 @Controller 25 @Scope("prototype") 26 @ParentPackage("json-default") 27 @Namespace("/") 28 public class CommonAction extends ActionSupport{ 29 30 private static final long serialVersionUID = 1L; 31 32 @Resource(name = "commonServiceImp") 33 private CommonService commonServiceImp; 34 35 private RequestCode requestCode; 36 37 private String data; 38 39 @SuppressWarnings("unchecked") 40 @Action(value = "common",results = {@Result(name="success",type = "json",params = {"root","requestCode"})}) 41 public String getAll() { 42 Map<String, Object> where = (Map<String, Object>) JSON.parse(data); 43 List<CityModel> list = commonServiceImp.getAll(where); 44 requestCode = new RequestCode(); 45 requestCode.setCode(1); 46 requestCode.setData(list); 47 requestCode.setMsg(ActionSupport.SUCCESS); 48 setCrossDomain(); 49 return ActionSupport.SUCCESS; 50 } 51 52 public RequestCode getRequestCode() { 53 return requestCode; 54 } 55 56 public void setRequestCode(RequestCode requestCode) { 57 this.requestCode = requestCode; 58 } 59 60 public String getData() { 61 return data; 62 } 63 64 public void setData(String data) { 65 this.data = data; 66 } 67 68 protected HttpServletRequest getHttpRequest(){ 69 return ServletActionContext.getRequest(); 70 } 71 72 protected HttpServletResponse getHttpResponse(){ 73 return ServletActionContext.getResponse(); 74 } 75 76 protected void setCrossDomain() { 77 getHttpResponse().setHeader("Access-Control-Allow-Origin", getHttpRequest().getHeader("Origin")); 78 getHttpResponse().setHeader("Access-Control-Allow-Credentials", "true"); 79 } 80 81 82 }
CommonService:sql
1 package org.ss2hm.service; 2 3 import java.util.List; 4 import java.util.Map; 5 6 import org.ss2hm.model.CityModel; 7 8 public interface CommonService { 9 10 public List<CityModel> getAll(Map<String, Object> where); 11 }
CommonServiceImp:
1 package org.ss2hm.service.imp; 2 3 import java.util.List; 4 import java.util.Map; 5 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.stereotype.Service; 8 import org.ss2hm.dao.CommonDao; 9 import org.ss2hm.model.CityModel; 10 import org.ss2hm.service.CommonService; 11 12 @Service("commonServiceImp") 13 public class CommonServiceImp implements CommonService{ 14 15 @Autowired 16 private CommonDao dao; 17 18 @Override 19 public List<CityModel> getAll(Map<String, Object> where) { 20 // TODO Auto-generated method stub 21 //業務處理 22 return dao.getAll(where); 23 } 24 25 }
CommonDao:
1 package org.ss2hm.dao; 2 3 import java.util.List; 4 import java.util.Map; 5 6 import org.hibernate.Query; 7 import org.hibernate.SessionFactory; 8 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.stereotype.Repository; 10 import org.springframework.transaction.annotation.Transactional; 11 import org.ss2hm.model.CityModel; 12 13 @Repository 14 public class CommonDao { 15 16 @Autowired 17 private SessionFactory sessionFactory; 18 19 @Transactional(readOnly=true) 20 public List<CityModel> getAll(Map<String, Object> where){ 21 Query query = sessionFactory.getCurrentSession().createQuery("from CityModel"); 22 query.setFirstResult(0); 23 query.setMaxResults(10); 24 List<CityModel> list = query.list(); 25 return list; 26 } 27 }
CityModel:
1 package org.ss2hm.model; 2 3 public class CityModel { 4 5 private int id; 6 private String name; 7 private String countryCode; 8 private String district; 9 private int population; 10 public CityModel() { 11 super(); 12 } 13 public int getId() { 14 return id; 15 } 16 public void setId(int id) { 17 this.id = id; 18 } 19 public String getName() { 20 return name; 21 } 22 public void setName(String name) { 23 this.name = name; 24 } 25 public String getCountryCode() { 26 return countryCode; 27 } 28 public void setCountryCode(String countryCode) { 29 this.countryCode = countryCode; 30 } 31 public String getDistrict() { 32 return district; 33 } 34 public void setDistrict(String district) { 35 this.district = district; 36 } 37 public int getPopulation() { 38 return population; 39 } 40 public void setPopulation(int population) { 41 this.population = population; 42 } 43 44 45 }
city.hbm.xml:
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 <class name="org.ss2hm.model.CityModel" table="city" schema="world"> 6 <id name="id" type="java.lang.Integer"> 7 <column name="ID" /> 8 <generator class="native" /> 9 </id> 10 <property name="name" type="java.lang.String"> 11 <column name="name" /> 12 </property> 13 <property name="countryCode" type="java.lang.String"> 14 <column name="countryCode" /> 15 </property> 16 <property name="district" type="java.lang.String"> 17 <column name="district" /> 18 </property> 19 <property name="population" type="java.lang.Integer"> 20 <column name="population" /> 21 </property> 22 </class> 23 </hibernate-mapping>
————————————————————————————————————————————————end——————————————————————————————————————————————————————