spring+struts+hibernate 搭建项目

记录一下spring+struts+hibernate搭建的项目。

目录结构:

spring-context.xml:

 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:

 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:

 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:

 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:

  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:

 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:

 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:

 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——————————————————————————————————————————————————————

 

转载于:https://www.cnblogs.com/YuWeiXiF/p/10929364.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值