struts223 + spring310 + mybatis310集成简单demoWord下载.docx
《struts223 + spring310 + mybatis310集成简单demoWord下载.docx》由会员分享,可在线阅读,更多相关《struts223 + spring310 + mybatis310集成简单demoWord下载.docx(25页珍藏版)》请在冰点文库上搜索。
![struts223 + spring310 + mybatis310集成简单demoWord下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/274f757b-d3b7-4bea-be6e-1ee958b27e9e/274f757b-d3b7-4bea-be6e-1ee958b27e9e1.gif)
13<
/listener>
14<
--配置spring配置文件加载的位置-->
15<
context-param>
16<
param-name>
contextConfigLocation<
/param-name>
17<
param-value>
classpath:
beans.xml<
/param-value>
18<
/context-param>
19
20
21<
--配置struts2-->
22<
filter>
23<
filter-name>
struts2<
/filter-name>
24<
filter-class>
25org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter<
/filter-class>
26<
/filter>
27<
filter-mapping>
28<
29<
url-pattern>
/*<
/url-pattern>
30<
/filter-mapping>
31
32
33<
/web-app>
3、配置spring配置文件,主要包括配置数据源、事务、mybaits等
beans.xml配置文件详细如下:
34<
35<
beansxmlns="
//www.springframework.org/schema/beans"
36xmlns:
37xmlns:
context="
//www.springframework.org/schema/context"
38xmlns:
aop="
//www.springframework.org/schema/aop"
39xmlns:
tx="
//www.springframework.org/schema/tx"
40xsi:
//www.springframework.org/schema/beans
41http:
//www.springframework.org/schema/beans/spring-beans-3.0.xsd
42http:
//www.springframework.org/schema/aop
43http:
//www.springframework.org/schema/aop/spring-aop-3.0.xsd
44http:
//www.springframework.org/schema/tx
45http:
//www.springframework.org/schema/tx/spring-tx-3.0.xsd
46http:
//www.springframework.org/schema/context
47http:
//www.springframework.org/schema/context/spring-context-3.0.xsd"
48
49<
--采用注释的方式配置bean-->
50<
context:
annotation-config/>
51<
--配置要扫描的包-->
52<
component-scanbase-package="
com.pdsu.edu"
<
/context:
component-scan>
53
54<
--proxy-target-class="
true"
强制使用cglib代理如果为false则spring会自动选择-->
55<
aop:
aspectj-autoproxyproxy-target-class="
/>
56
57<
--数据库配置文件位置-->
58<
property-placeholderlocation="
jdbc.properties"
/>
59
60<
--配置dbcp数据源-->
61<
beanid="
dataSource"
class="
mons.dbcp.BasicDataSource"
destroy-method="
close"
62<
propertyname="
driverClassName"
value="
${jdbc.driverClassName}"
63<
url"
${jdbc.url}"
64<
username"
${jdbc.username}"
65<
password"
${jdbc.password}"
66<
--队列中的最小等待数-->
67<
minIdle"
${jdbc.minIdle}"
/property>
68<
--队列中的最大等待数-->
69<
maxIdle"
${jdbc.maxIdle}"
70<
--最长等待时间,单位毫秒-->
71<
maxWait"
${jdbc.maxWait}"
72<
--最大活跃数-->
73<
maxActive"
${jdbc.maxActive}"
74<
initialSize"
${jdbc.initialSize}"
75<
/bean>
76
77<
--配置mybitasSqlSessionFactoryBean-->
78<
sqlSessionFactory"
org.mybatis.spring.SqlSessionFactoryBean"
79<
ref="
80<
configLocation"
mybatis.xml"
81<
82
83<
--配置SqlSessionTemplate-->
84<
sqlSessionTemplate"
org.mybatis.spring.SqlSessionTemplate"
85<
constructor-argname="
86<
87
88<
--事务配置-->
89<
transactionManager"
org.springframework.jdbc.datasource.DataSourceTransactionManager"
90<
91<
92
93<
--使用annotation注解方式配置事务-->
94<
tx:
annotation-driventransaction-manager="
95
96<
/beans>
4.JDBC配置文件详细
[plain]viewplaincopy
97jdbc.driverClassName=com.mysql.jdbc.Driver
98jdbc.url=jdbc:
mysql:
//localhost:
3306/operationLog
99jdbc.username=root
100jdbc.password=
101jdbc.maxActive=2
102jdbc.maxIdle=5
103jdbc.minIdle=1
104jdbc.initialSize=3
105jdbc.maxWait=3000
5、配置mybatis主配置文件:
106<
107<
DOCTYPEconfigurationPUBLIC"
-//mybatis.org//DTDConfig3.0//EN"
"
//mybatis.org/dtd/mybatis-3-config.dtd"
108<
configuration>
109<
typeAliases>
110<
typeAliasalias="
user"
type="
com.pdsu.edu.domain.User"
111<
/typeAliases>
112<
mappers>
113<
mapperresource="
com/pdsu/edu/domain/sqlMappers/user.xml"
114<
/mappers>
115<
/configuration>
6、配置user.xml文件
116<
utf-8"
?
117<
DOCTYPEmapperPUBLIC"
-//mybatis.org//DTDMapper3.0//EN"
118"
//mybatis.org/dtd/mybatis-3-mapper.dtd"
119<
mappernamespace="
120
121<
resultMaptype="
id="
userResult"
122<
resultproperty="
id"
column="
jdbcType="
INTEGER"
javaType="
java.lang.Integer"
123<
124<
125<
/resultMap>
126<
selectid="
userLogin"
parameterType="
resultMap="
127select*fromuser
128where
129username=#{username}andpassword=#{password}
130<
/select>
131
132<
selectAllUser"
133select*fromuser
134<
135
136<
findUserById"
int"
137select*
138fromuserwhereid=#{id}
139<
140
141<
insertid="
insertUser"
142<
[CDATA[
143insertinto
144user(username,password)values(#{username},#{password})
145]]>
146<
/insert>
147
148<
updateid="
updateUser"
149updateuserset
150username=#{username},password=#{password}whereid=#{id}
151<
/update>
152
153<
deleteid="
deleteUser"
154deletefromuserwhere
155id=#{id}
156<
/delete>
157
158<
/mapper>
7、User实体的写法
[java]viewplaincopy
159publicclassUserimplementsSerializable{
160privatestaticfinallongserialVersionUID=-4415990281535582814L;
161privateIntegerid;
162privateStringusername;
163privateStringpassword;
164
165publicIntegergetId(){
166returnid;
167}
168
169publicvoidsetId(Integerid){
170this.id=id;
171}
172
173publicStringgetUsername(){
174returnusername;
175}
176
177publicvoidsetUsername(Stringusername){
178this.username=username;
179}
180
181publicStringgetPassword(){
182returnpassword;
183}
184
185publicvoidsetPassword(Stringpassword){
186this.password=password;
187}
188
189@Override
190publicStringtoString(){
191return"
User[id="
+id+"
password="
+password+"
username="
+username+"
]"
;
192}
193
194@Override
195publicinthashCode(){
196finalintprime=31;
197intresult=1;
198result=prime*result+((id==null)?
0:
id.hashCode());
199returnresult;
200}
201
202@Override
203publicbooleanequals(Objectobj){
204if(this==obj)
205returntrue;
206if(obj==null)
207returnfalse;
208if(getClass()!
=obj.getClass())
209returnfalse;
210Userother=(User)obj;
211if(id==null){
212if(other.id!
=null)
213returnfalse;
214}elseif(!
id.equals(other.id))
215returnfalse;
216returntrue;
217}
218}
8、UserDao的写法
219publicinterfaceUserDao{
220
221publicabstractvoidinsertUser(Useruser);
222
223publicabstractvoidupdateUser(Useruser);
224
225publicabstractvoiddeleteUser(IntegeruserId);
226
227publicabstractUserfindUserByid(IntegeruserId);
228
229publicabstractList<
User>
findAll();
230
231publicabstractUseruserLogin(Useruser);
232
233}
9、UserDao的实现
234@Repository
235publicclassUserDaoImplimplementsUserDao{
236privatefinalStringINSERT_USER="
237privatefinalStringUPDATE_USER="
238privatefinalStringDELETE_USER="
239privatefinalStringFIND_USER_BYID="
240privatefinalStringSELECT_ALL_USER="
241privatefinalStringUSER_LOGIN="
242@Autowired
243privateSqlSessionTemplatesqlSessionTemplate;
244
245publicvoidinsertUser(Useruser){
246sqlSessionTemplate.insert(INSERT_USER,user);
247}
248
249publicvoidupdateUser(Useruser){
250sqlSessionTemplate.update(UPDATE_USER,user);
251}
252
253publicvoiddeleteUser(IntegeruserId){
254sqlSessionTemplate.delete(DELETE_USER,userId);
255}
256
257publicUserfindUserByid(IntegeruserId){
258returnsqlSessionTemplate.selectOne(FIND_USER_BYID,userId);
259}
260
261publicList<
findAll(){
262returnsqlSessionTemplate.selectList(SELECT_ALL_USER);
263}
264
265publicUseruserLogin(Useruser){
266returnsqlSessionTemplate.selectOne(USER_LOGIN,user);
267}