TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:* o! `% I. D8 l1 y( N5 {
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
% s. h6 q3 N" Q8 E9 ]. W 考生数据管理(浏览全部考生、添加考生数据)4 _, ^& J1 l$ n k0 B1 w6 l
数据表:admin examtype question student
" p1 ]9 y6 U- M6 I9 }7 n
6 l8 A/ ]5 _6 d0 @/ L; D/ o
appContext.xml数据库配置:1 Z4 l. v3 z/ ^
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
, L4 M9 |& F( y% \0 T% j - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">5 @2 p5 I7 n) |' X+ Q% }4 s; u& h
- <!-- 指定连接数据库的驱动 -->
! t" {$ x3 J$ |3 e) ^+ ?+ d0 [0 [ - <property name="driverClass" value="com.mysql.jdbc.Driver"/>% p/ S" {+ d# G
- <!-- 指定连接数据库的URL -->3 `3 m9 \& N6 `$ e) b" E( n
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>6 m3 Y' W8 J& w8 s) ^: q1 B8 d
- <!-- 指定连接数据库的用户名 -->
# k) n f1 N6 r* r1 \& S0 ^ - <property name="user" value="root"/>
1 a6 A) R# T \ - <!-- 指定连接数据库的密码 -->
) K& s, r6 I$ @, a2 \/ h! h5 d - <property name="password" value="root"/>
) C8 Y0 o% Z* o - <!-- 指定连接数据库连接池的最大连接数 -->9 [/ D$ e0 d, O1 }' e& _! X( t
- <property name="maxPoolSize" value="40"/>
w ^. G& j+ R - <!-- 指定连接数据库连接池的最小连接数 -->- i" `2 P3 l, {6 [2 W
- <property name="minPoolSize" value="1"/>& @. ~6 ^/ O2 T q: K
- <!-- 指定连接数据库连接池的初始化连接数 -->
z4 ~9 y! [! f+ d$ w7 c9 | - <property name="initialPoolSize" value="1"/>
% F) Y9 V! \) w" s: q0 y - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
; u' D2 b$ g5 p% Y! g" j9 D - <property name="maxIdleTime" value="20"/>0 c5 U/ y) P& C1 y! j! P
- </bean>
, r! a! g# K! O! X( N
& p9 K# t' }1 ]% r- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
6 l' @. b$ m& c; F3 I* \+ G# D - <property name="dataSource" ref="dataSource"/>
8 ^. r1 Y- h' y' Y; z - <property name="mappingResources">
0 s& i. x; W. c. h: g$ {/ `+ g - <list>
) {1 N; R" B: E' U) k - <value>org/matrix/conf/ExamType.hbm.xml</value>! a& e; c7 m5 I+ z
- <value>org/matrix/conf/Admin.hbm.xml</value>
0 D0 L& O6 k1 i$ N - <value>org/matrix/conf/Question.hbm.xml</value>! L8 K1 Z0 p$ A! b" c5 n
- <value>org/matrix/conf/Student.hbm.xml</value>. ]3 D3 Z- V$ ?& H$ L+ L
- </list>
8 a% g4 C# j Y: \# z - </property>
& a& b6 n6 d _) A; t" V+ G. S - <property name="hibernateProperties">. X; o( u+ ]. i2 i
- <props>6 {3 o9 J/ K2 N5 C4 `9 ~5 l# f0 o
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
6 Y' y( M. |" @" I s - <prop key="show_sql">true</prop>3 O+ Z# Z7 d2 I5 I& i$ a3 a9 T
- <prop key="hibernate.hbm2ddl.auto">update</prop>
! p- z1 K, x7 I0 B - <prop key="hibernate.jdbc.batch_size">20</prop> . n' Z; h" I/ s4 }7 [1 E
- </props>! w3 M+ E( _2 W0 `# k
- </property>0 V' V- q# [, q/ V ~- ?
- </bean>
) t: D4 ^) f* m. B$ m M" q! X$ E
5 l6 u$ W3 ~/ h+ ]% Z- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">! D. N# G7 W7 f& c4 Z( `
- <property name="sessionFactory" ref="sessionFactory"/>
6 G% z m* j* Y# ^1 m9 |! y - </bean>
; Z% S5 a4 D; M3 q8 e2 W - & M. Y; r/ ?( A3 \% D: e, R6 P
- <bean id="transactionInterceptor"$ |$ D: j0 Y4 H- Q! G# j+ T4 \* v2 |
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
4 _9 f' Q5 Y" D' {9 `5 N - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
$ G4 p4 h3 D3 `, q# K5 P0 C" p8 e" e - <property name="transactionManager" ref="transactionManager"/>! h% v& V1 O+ c9 ~( @
- <property name="transactionAttributes"># _1 [) M* ]) i& U2 `1 F' J% f
- <!-- 下面定义事务传播属性 -->% e6 M' l8 A8 l3 R
- <props>- O6 o) X1 Y3 \/ `, ?* Y
- <prop key="insert*">PROPAGATION_REQUIRED</prop>5 t6 a. d/ j7 B/ B( [- Q) h
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
/ ?5 n% h9 t7 U0 n3 T. f. z - <prop key="*">PROPAGATION_REQUIRED</prop>
2 u4 t% x' e2 p" I) p( a - </props>& V( n# B( ?8 i
- </property>" s3 X9 e0 `+ ^4 Q1 q
- </bean>
& b, s* P8 |0 }7 ^
. ~* ?( v) M$ P7 C/ N& `# [- <!-- 定义业务逻辑处理组件 -->
$ w9 U, } Q# v( p* W - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">' \1 L8 E# t8 L$ P0 ?
- <property name="adminDao" ref="AdminDao"/>" q/ e8 z5 h r
- <property name="studentDao" ref="StudentDao"/>& G( c9 p* h% p* Y7 R0 H: r
- <property name="examTypeDao" ref="ExamTypeDao"/>
6 x6 ?6 T) A; C* ~ - <property name="questionDao" ref="QuestionDao"/>+ _- J( ?; A) I" _0 Y( J
- </bean>
2 J" |7 P, T! k- ^. Q - 6 r0 Q6 q5 ?( S {( ~* ^# a9 x5 f! |& `
- <!-- 定义BeanNameAutoProxyCreator -->! i2 O4 |. O, a! |8 g) R
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">0 {* q. ?: \1 s
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
, Q2 N! T" G$ K2 K - <property name="beanNames">
2 E8 L7 v; K8 H" D- q# u - <!-- 下面是所有需要自动创建事务代理的Bean-->4 r" D5 @9 R; m8 [# [
- <list>
' D$ ]& I" F9 R- I0 v$ e - <value>examService</value>" t3 U- V4 ^- B3 C
- </list>
& V5 ~6 s, Q% z( W( S, F/ e/ g - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
5 o5 l3 M6 }% ?& ]2 f+ |6 C% g - </property>
0 P! ^7 u8 U; ^1 j - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
0 n: Y0 U# d! ]: u1 c: [ - <property name="interceptorNames"> p/ J5 {" h1 z0 o* s- p
- <list>* m1 V# [4 U! |! ^4 B' \
- <value>transactionInterceptor</value>
7 J' d7 s$ M0 O - <!-- 此处可增加其他新的Interceptor -->( e3 U- v# p& V* T
- </list>
$ u8 K* Z! p0 j+ }; f1 p7 o - </property>
1 a6 I+ z! v( N) ^8 H! F; K' j - </bean>
复制代码 " e, _: m6 a& f% ^7 o0 K
& ?% S! N, ~' t3 n" Q9 E5 F4 T( o9 X$ q
4 Y7 k% z5 A3 v
7 I1 x, f. _- B
, ^. U+ F2 j+ G
项目源码下载地址:
% L' H: N6 Y2 I) \- o1 C" L# Q: E/ J9 u" I# \
, R1 V) @$ D# I+ o- j/ u2 ]
% b. I/ `1 ^& }( u2 G( w
) x l, Q; n7 I' g/ r% j# q
( P/ {9 `, Z" }! L! J. q7 `
|
|