激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java框架篇:Spring+SpringMVC+hibernate整合開發

Java框架篇:Spring+SpringMVC+hibernate整合開發

2020-08-04 15:02XRog Java教程

本篇文章將會對Spring+SpringMVC+hibernate的整合開發進行介紹。具有很好的參考價值。下面跟著小編一起來看下吧

前言:

最近沒什么事做,搭個框架寫成博客記錄下來,拉通一下之前所學知識.

話不多說,我們直接步入正題。

準備工作:

  1/安裝并配置java運行環境

  2/數據庫的安裝配置(mysql)

  3/安裝并配置服務器(tomcat)

  4/maven

  5/ intellijidea的安裝配置(本人使用的主要軟件是intellijidea,沒用eclipse什么的)

  6/ 使用intellijidea創建一個web app項目。

貌似就這些了吧

導包

不同于以往的導包,由于我們創建的是maven的webapp項目,所以現在只需配置下pomxml這個配置文件,系統會自動到maven的中央倉庫去下載相應的包.

本人的pom.xml配置文件如下(都寫有說明的哈):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>xrog</groupid>
 <artifactid>ssh</artifactid>
 <packaging>war</packaging>
 <version>1.0-snapshot</version>
 <name>ssh maven webapp</name>
 <url>http://maven.apache.org</url>
 <!-- 本人將配置包的版本信息都統一放入此處,方便以后管理-->
 <properties>
 <springversion>4.3.1.release</springversion>
 <hibernateversion>4.3.5.final</hibernateversion>
 <jstlversion>1.2</jstlversion>
 <taglibversion>1.1.2</taglibversion>
 <servletversion>3.0-alpha-1</servletversion>
 <jsonversion>1.9.13</jsonversion>
 <jacksonversion>2.5.0</jacksonversion>
 <mysqlversion>6.0.3</mysqlversion>
 <c3p0version>0.9.1.2</c3p0version>
 <log4jversion>1.2.17</log4jversion>
 <fileuploadversion>1.3.1</fileuploadversion>
 <lombokversion>1.16.10</lombokversion>
 </properties>
 <dependencies>
 <!-- 單元測試 -->
 <dependency>
 <groupid>junit</groupid>
 <artifactid>junit</artifactid>
 <version>3.8.1</version>
 <scope>test</scope>
 </dependency>
 <!-- spring-->
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-beans</artifactid>
 <version>${springversion}</version>
 </dependency>
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-core</artifactid>
 <version>${springversion}</version>
 </dependency>
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-context</artifactid>
 <version>${springversion}</version>
 </dependency>
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-orm</artifactid>
 <version>${springversion}</version>
 </dependency>
 <!-- spring web + spring mvc-->
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-web</artifactid>
 <version>${springversion}</version>
 </dependency>
 <dependency>
 <groupid>org.springframework</groupid>
 <artifactid>spring-webmvc</artifactid>
 <version>${springversion}</version>
 </dependency>
 <!-- hibernate配置-->
 <dependency>
 <groupid>org.hibernate</groupid>
 <artifactid>hibernate-core</artifactid>
 <version>${hibernateversion}</version>
 </dependency>
 <!-- hibernate 緩存, 視情況添加-->
 <dependency>
 <groupid>org.hibernate</groupid>
 <artifactid>hibernate-ehcache</artifactid>
 <version>${hibernateversion}</version>
 </dependency>
 <!-- jsp頁面使用的jstl支持-->
 <dependency>
 <groupid>jstl</groupid>
 <artifactid>jstl</artifactid>
 <version>${jstlversion}</version>
 </dependency>
 <dependency>
 <groupid>taglibs</groupid>
 <artifactid>standard</artifactid>
 <version>${taglibversion}</version>
 </dependency>
 <dependency>
 <groupid>javax.servlet</groupid>
 <artifactid>servlet-api</artifactid>
 <version>${servletversion}</version>
 <scope>provided</scope>
 </dependency>
 <!-- database數據庫連接 mysql包-->
 <dependency>
 <groupid>mysql</groupid>
 <artifactid>mysql-connector-java</artifactid>
 <version>${mysqlversion}</version>
 </dependency>
 <!-- 數據庫連接池-->
 <dependency>
 <groupid>c3p0</groupid>
 <artifactid>c3p0</artifactid>
 <version>${c3p0version}</version>
 </dependency>
 <!-- json數據 使springmvc可以返回json值 ,視情況添加-->
 <dependency>
 <groupid>org.codehaus.jackson</groupid>
 <artifactid>jackson-mapper-asl</artifactid>
 <version>${jsonversion}</version>
 </dependency>
 <!-- jackson可以輕松的將java對象轉換成json對象和xml文檔,同樣也可以將json、xml轉換成java對象-->
 <dependency>
 <groupid>com.fasterxml.jackson.core</groupid>
 <artifactid>jackson-core</artifactid>
 <version>${jacksonversion}</version>
 </dependency>
 <dependency>
 <groupid>com.fasterxml.jackson.core</groupid>
 <artifactid>jackson-annotations</artifactid>
 <version>${jacksonversion}</version>
 </dependency>
 <dependency>
 <groupid>com.fasterxml.jackson.core</groupid>
 <artifactid>jackson-databind</artifactid>
 <version>${jacksonversion}</version>
 </dependency>
 <!-- log4j配置, 視情況添加-->
 <dependency>
 <groupid>log4j</groupid>
 <artifactid>log4j</artifactid>
 <version>${log4jversion}</version>
 </dependency>
 <!--文件 上傳-->
 <dependency>
 <groupid>commons-fileupload</groupid>
 <artifactid>commons-fileupload</artifactid>
 <version>${fileuploadversion}</version>
 </dependency>
 <!-- lombok插件導包-->
 <dependency>
 <groupid>org.projectlombok</groupid>
 <artifactid>lombok</artifactid>
 <version>${lombokversion}</version>
 <scope>provided</scope>
 </dependency>
 </dependencies>
 <build>
 <finalname>ssh</finalname>
 </build>
</project>

ok,配置后運行下maven,就會自動向中央倉庫下載相應的包啦!(這個就不多說了)。

springmvc配置

我現在在這里把我配置后的結構拿出來給你們看下

 Java框架篇:Spring+SpringMVC+hibernate整合開發

我們先配置下springmvc的配置:resources/meta-inf/spring-mvc.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
 http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
 http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
 <!-- 啟動注解驅動的spring mvc功能,注冊請求url和注解pojo類方法的映射-->
 <mvc:annotation-driven />
 <!-- 對模型視圖名稱的解析,在請求時模型視圖名稱添加前后綴 -->
 <context:component-scan base-package="com.ssh" />
 <bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver">
 <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" />
 <property name="prefix" value="views/" /> <!-- 前綴 -->
 <property name="suffix" value=".jsp" /> <!-- 后綴 -->
 </bean>
 <!--這里是對靜態資源的映射-->
 <mvc:resources mapping="/js/**" location="/resources/js/" />
 <mvc:resources mapping="/css/**" location="/resources/css/" />
 <mvc:resources mapping="/img/**" location="/resources/img/" />
</beans>

 好了,我們現在修改下web.xml這個配置文件,完善下springmvc的配置, web.xml配置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 version="3.0">
 <!-- 地址為http://localhost:8080/ 顯示的默認網頁-->
 <welcome-file-list>
 <welcome-file>/index.jsp</welcome-file>
 </welcome-file-list>
 <!-- spring mvc config start-->
 <servlet>
 <servlet-name>spring</servlet-name>
 <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>
 <init-param>
 <param-name>contextconfiglocation</param-name>
 <!-- 此處指向的的是springmvc的配置文件 -->
 <param-value>classpath:meta-inf/spring-mvc.xml</param-value>
 </init-param>
 <!--配置容器在啟動的時候就加載這個servlet并實例化-->
 <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
 <servlet-name>spring</servlet-name>
 <url-pattern>/</url-pattern>
 </servlet-mapping>
 <!-- spring mvc config end-->
</web-app>

ok,springmvc配置完成,現在我們進行一下測試吧

在controller層新建一個maincontroller,內容如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.ssh.controller;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
/**
 * created by xrog
 * on 2/1/2017.12:36 am
 */
@controller
public class maincontroller {
 
 @requestmapping(value = "test", method = requestmethod.get)
 public string test(){
// 實際返回的是views/test.jsp ,spring-mvc.xml中配置過前后綴
 return "test";
 }
}

test.jsp網頁如下:

?
1
2
3
4
5
6
7
<html>
<body>
<center>
<h2 style="color: #ff261a;">this is my test page!</h2>
</center>
</body>
</html>

重啟tomcat服務器, 然后瀏覽器訪問如下圖所示:

 Java框架篇:Spring+SpringMVC+hibernate整合開發

ps: tomcat默認端口是8080,我更改了端口號,如若你們為更改,正確的訪問地址是localhost:8080/test

ok,成功訪問。

springmvc+spring整合

 這個就十分簡單了, 配置applicationcontext.xml這個spring的配置文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemalocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
 <!-- 自動掃描 -->
 <context:component-scan base-package="com.ssh">
 <!-- 掃描時跳過 @controller 注解的java類(控制器) -->
 <context:exclude-filter type="annotation" expression="org.springframework.stereotype.controller"/>
 </context:component-scan>
</beans>

完善web.xml配置文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 version="3.0">
 <!-- 地址為http://localhost:8080/ 顯示的默認網頁-->
 <welcome-file-list>
 <welcome-file>/index.jsp</welcome-file>
 </welcome-file-list>
 <!--加載spring的配置文件到上下文中去-->
 <context-param>
 <param-name>contextconfiglocation</param-name>
 <param-value>
 classpath:meta-inf/applicationcontext.xml
 </param-value>
 </context-param>
 <!-- spring mvc config start-->
 <servlet>
 <servlet-name>spring</servlet-name>
 <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>
 <init-param>
 <param-name>contextconfiglocation</param-name>
 <!-- 此處指向的的是springmvc的配置文件 -->
 <param-value>classpath:meta-inf/spring-mvc.xml</param-value>
 </init-param>
 <!--配置容器在啟動的時候就加載這個servlet并實例化-->
 <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
 <servlet-name>spring</servlet-name>
 <url-pattern>/</url-pattern>
 </servlet-mapping>
 <!-- spring mvc config end-->
 <!-- spring監聽器 -->
 <listener>
 <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>
 </listener>
 <!-- 字符集過濾 -->
 <filter>
 <filter-name>encodingfilter</filter-name>
 <filter-class>org.springframework.web.filter.characterencodingfilter</filter-class>
 <init-param>
 <param-name>encoding</param-name>
 <param-value>utf-8</param-value>
 </init-param>
 <init-param>
 <param-name>forceencoding</param-name>
 <param-value>true</param-value>
 </init-param>
 </filter>
 <filter-mapping>
 <filter-name>encodingfilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>

web.xml配置文件中更改了三處:引入spring配置文件 spring的監聽器  以及 字符集過濾

ok,spring+springmvc配置完成,下面我們開始測試:

在service寫一個testserviceimpl實現testservice接口并實現其test()方法, 代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.ssh.service.impl;
import com.ssh.service.testservice;
import org.springframework.stereotype.service;
/**
 * created by xrog
 * on 2/1/2017.12:58 am
 */
@service
public class testserviceimpl implements testservice {
 public string test() {
 return "test";
 }
}

ps:這里注意寫@service注解

maincontroller控制器更改如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.ssh.controller;
import com.ssh.service.testservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.responsebody;
 
/**
 * created by xrog
 * on 2/1/2017.12:36 am
 */
@controller
public class maincontroller {
 @autowired
 private testservice testservice;
 @requestmapping(value = "test", method = requestmethod.get)
 public string test(){
// 實際返回的是views/test.jsp ,spring-mvc.xml中配置過前后綴
 return "test";
 }
 @requestmapping(value = "springtest", method = requestmethod.get)
 public string springtest(){
 return testservice.test();
 }
}

控制器這里我們運用了spring的依賴注入自動裝配。

在瀏覽器中輸入地址調用springtest方法    

 Java框架篇:Spring+SpringMVC+hibernate整合開發

yes,成功返回,說明我們之前的配置沒問題

spring+springmvc+hibernate整合

好了,現在就缺hibernate這個框架了。。 我先給大家看些我搭建好之后的結構圖吧

 Java框架篇:Spring+SpringMVC+hibernate整合開發

我們想來編寫config.properties這個配置文件,里面存放的是hibernate的一些配置

?
1
2
3
4
5
6
7
8
9
10
#database connection config
jdbc.driver = com.mysql.jdbc.driver
jdbc.url = jdbc:mysql://?????:3306/ssh?useunicode=true&characterencoding=utf-8
jdbc.username = root
jdbc.password = ???
#hibernate config
hibernate.dialect = org.hibernate.dialect.mysqldialect
hibernate.show_sql = true
hibernate.format_sql = true
hibernate.hbm2ddl.auto = update

這里連接數據庫的參數由于我是連接我晚上的數據庫,因此我數據庫地址和密碼打了“???”,你們連接時改成自己本地的就ok了

下面配置hibernate,這里我為了方便,就直接寫進applicationcontext.xml里面。配置后的applicationcontext.xml如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
 http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
 http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
 <!--********************************************配置spring***************************************-->
 <!-- 自動掃描 -->
 <context:component-scan base-package="com.ssh">
 <!-- 掃描時跳過 @controller 注解的java類(控制器) -->
 <context:exclude-filter type="annotation" expression="org.springframework.stereotype.controller"/>
 </context:component-scan>
 <!--********************************************配置hibernate********************************************-->
 <!--掃描配置文件(這里指向的是之前配置的那個config.properties)-->
 <context:property-placeholder location="classpath:/config.properties" />
 <!--配置數據源-->
 <bean id="datasource" class="com.mchange.v2.c3p0.combopooleddatasource" destroy-method="close">
 <property name="driverclass" value="${jdbc.driver}" /> <!--數據庫連接驅動-->
 <property name="jdbcurl" value="${jdbc.url}" /> <!--數據庫地址-->
 <property name="user" value="${jdbc.username}" /> <!--用戶名-->
 <property name="password" value="${jdbc.password}" /> <!--密碼-->
 <property name="maxpoolsize" value="40" /> <!--最大連接數-->
 <property name="minpoolsize" value="1" /> <!--最小連接數-->
 <property name="initialpoolsize" value="10" /> <!--初始化連接池內的數據庫連接-->
 <property name="maxidletime" value="20" /> <!--最大空閑時間-->
 </bean>
 <!--配置session工廠-->
 <bean id="sessionfactory" class="org.springframework.orm.hibernate4.localsessionfactorybean">
 <property name="datasource" ref="datasource" />
 <property name="packagestoscan" value="com.ssh.entity" />
 <property name="hibernateproperties">
 <props>
 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> <!--hibernate根據實體自動生成數據庫表-->
 <prop key="hibernate.dialect">${hibernate.dialect}</prop> <!--指定數據庫方言-->
 <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <!--在控制臺顯示執行的數據庫操作語句-->
 <prop key="hibernate.format_sql">${hibernate.format_sql}</prop> <!--在控制臺顯示執行的數據哭操作語句(格式)-->
 </props>
 </property>
 </bean>
 <!-- 事物管理器配置 -->
 <bean id="transactionmanager" class="org.springframework.orm.hibernate4.hibernatetransactionmanager">
 <property name="sessionfactory" ref="sessionfactory" />
 </bean>
</beans>

ok,到了這里,配置結束。下面進入測試階段

實體類(entity):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.ssh.entity;
import lombok.data;
import javax.persistence.*;
 
/**
 * created by xrog
 * on 2/2/2017.2:03 pm
 */
@data
@entity
@table(name = "person")
public class person {
 @id
 @generatedvalue
 private long id;
 @column(name = "created")
 private long created = system.currenttimemillis();
 @column(name = "username")
 private string username;
 @column(name = "address")
 private string address;
 @column(name = "phone")
 private string phone;
 @column(name = "remark")
 private string remark;
}

ps:我這里用了一個@data注解,此注解會自動生成get方法,set方法,tostring方法等一系列方法,功能十分強大,不過需要安裝插件以及導包, 有興趣的可以百度下

當然,你也可以手動編寫get/set/構造方法。

數據庫訪問層(repository):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.ssh.repository;
import java.io.serializable;
import java.util.list;
/**
 * created by xrog
 * on 2/2/2017.2:28 pm
 */
public interface domainrepository<t,pk extends serializable>{
 t load(pk id);
 t get(pk id);
 list<t> findall();
 void persist(t entity);
 pk save(t entity);
 void saveorupdate(t entity);
 void delete(pk id);
 void flush();
}
?
1
2
3
4
5
6
7
8
package com.ssh.repository;
import com.ssh.entity.person;
/**
 * created by xrog
 * on 2/2/2017.2:25 pm
 */
public interface personrepository extends domainrepository<person,long> {
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.ssh.repository.impl;
import com.ssh.repository.personrepository;
import com.ssh.entity.person;
import org.hibernate.session;
import org.hibernate.sessionfactory;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.repository;
import java.util.list;
/**
 * created by xrog
 * on 2/2/2017.2:30 pm
 */
@repository
public class personrepositoryimpl implements personrepository {
 @autowired
 private sessionfactory sessionfactory;
 private session getcurrentsession() {
 return this.sessionfactory.opensession();
 }
 public person load(long id) {
 return (person)getcurrentsession().load(person.class,id);
 }
 public person get(long id) {
 return (person)getcurrentsession().get(person.class,id);
 }
 public list<person> findall() {
 return null;
 }
 public void persist(person entity) {
 getcurrentsession().persist(entity);
 }
 public long save(person entity) {
 return (long)getcurrentsession().save(entity);
 }
 public void saveorupdate(person entity) {
 getcurrentsession().saveorupdate(entity);
 }
 public void delete(long id) {
 person person = load(id);
 getcurrentsession().delete(person);
 }
 public void flush() {
 getcurrentsession().flush();
 }
}

ps:我這里顯示寫了一個比較通用的接口,其他所有接口皆繼承此接口, 再編寫實現類

注意:我這里寫的session產生是調用的sessionfactory的opensession()這個方法。之前使用getcurrentsession()一直報錯,后來百度了一下才知道,hibernate3版本可以使用getcurrentsession()來創建session,而hibernate4版本則不行。

服務層(service):

?
1
2
3
4
5
6
7
8
9
package com.ssh.service;
import com.ssh.entity.person;
/**
 * created by xrog
 * on 2/2/2017.2:39 pm
 */
public interface personservice {
 long saveperson();
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.ssh.service.impl;
import com.ssh.entity.person;
import com.ssh.repository.personrepository;
import com.ssh.service.personservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
/**
 * created by xrog
 * on 2/2/2017.2:40 pm
 */
@service
public class personserviceimpl implements personservice {
 @autowired
 private personrepository personrepository;
 public long saveperson() {
 person person = new person();
 person.setusername("xrog");
 person.setphone("18381005946");
 person.setaddress("chendu");
 person.setremark("this is xrog");
 return personrepository.save(person);
 }
}

控制層(controller):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.ssh.controller;
import com.ssh.entity.person;
import com.ssh.service.personservice;
import com.ssh.service.testservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.responsebody;
/**
 * created by xrog
 * on 2/1/2017.12:36 am
 */
@controller
public class maincontroller {
 @autowired
 private personservice personservice;
 @requestmapping(value = "saveperson", method = requestmethod.get)
 @responsebody
 public string saveperson(){
 personservice.saveperson();
 return "success!";
 }
}

ok,編寫完畢,我們重啟下服務器然后測試:

Java框架篇:Spring+SpringMVC+hibernate整合開發

我們在看下數據庫,跟我們插入的數據對比下

Java框架篇:Spring+SpringMVC+hibernate整合開發

Java框架篇:Spring+SpringMVC+hibernate整合開發

ok,測試完畢,十分成功

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!

原文鏈接:http://www.cnblogs.com/xrog/p/6359706.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久久久久久久久久国产精品 | 黄色视屏免费在线观看 | 欧美一级h | 91精选视频在线观看 | 中文在线观看www | 一本色道精品久久一区二区三区 | 91精品国产综合久久久欧美 | 99re久久最新地址获取 | 久久久久免费精品国产小说色大师 | 羞羞答答www网站进入 | 欧美成在线视频 | 免费国产自久久久久三四区久久 | 最新se94se在线欧美 | 国产二区三区在线播放 | 一区二区三区欧洲 | 欧美成人做爰高潮片免费视频 | 欧美视频黄色 | 精品国产呦系列在线看 | 成人h精品动漫一区二区三区 | 国产一级大片 | 成人免费国产视频 | 国产午夜精品理论片a级探花 | 精品一区二区三区在线播放 | 国产成人综合在线视频 | 亚洲一区在线国产 | 亚洲伊人色欲综合网 | 久久亚洲春色中文字幕久久 | 欧美国产成人在线 | 国产精品毛片无码 | 国产四区| 成人黄色短视频在线观看 | 欧美黄色一区 | 欧美在线中文字幕 | 中文在线免费观看 | 凹凸成人精品亚洲精品密奴 | 欧美伦交| 91av资源在线 | 在线观看免费av网 | 2021av视频| 免费香蕉成视频成人网 | 老司机免费福利午夜入口ae58 |