TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
\4 q( ^" Y8 I; @. ?模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
2 J! T9 Q |0 ` M 考生数据管理(浏览全部考生、添加考生数据)
; t$ Q5 Z( p! ?- O8 g v数据表:admin examtype question student
3 ] x/ \& R% }2 t N$ J
& R" I% A! Y% E8 O( J% {appContext.xml数据库配置:
' k! c: H: X3 `- E8 v/ S. s- <!-- 定义数据源Bean,使用C3P0数据源实现 -->+ _( F7 m/ g+ N' X
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">% n5 n \0 z/ U1 M a+ n/ t! P' Q0 H
- <!-- 指定连接数据库的驱动 -->
* R2 a; g3 w8 G2 g5 ^ - <property name="driverClass" value="com.mysql.jdbc.Driver"/>
; G3 f: W z7 p; r( x7 q - <!-- 指定连接数据库的URL -->
' L" D9 E' h( v- K9 i% a5 e - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
7 ?, s" W1 x- W, x# H, q - <!-- 指定连接数据库的用户名 -->) K0 ]1 _5 a& U0 ?. X! e7 e& H! S
- <property name="user" value="root"/>
1 [3 }5 v* t8 L5 M - <!-- 指定连接数据库的密码 -->
! {1 s9 Q3 D |) ` - <property name="password" value="root"/>
. ?& b( A* R* E3 O8 U - <!-- 指定连接数据库连接池的最大连接数 -->3 d' L3 k1 W1 r0 ~$ }0 j7 ^
- <property name="maxPoolSize" value="40"/>
6 V; c- c+ m9 k - <!-- 指定连接数据库连接池的最小连接数 -->
+ J0 S# |2 J2 g) g - <property name="minPoolSize" value="1"/>
0 J- `6 T% @6 Y* d1 T) M5 Z4 o - <!-- 指定连接数据库连接池的初始化连接数 -->8 `, b0 s1 e z) x
- <property name="initialPoolSize" value="1"/>3 b% Q: t. K: \. W
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->$ J2 i# S' z @
- <property name="maxIdleTime" value="20"/>
0 ?" G! j8 I X6 O, ?. W2 a0 E( U - </bean>
- E7 @+ J+ v% w a7 ? - ; x/ S' [( j1 }& H9 ]+ T9 O$ `
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
; {8 S* s8 C- R# @6 ~7 w3 E - <property name="dataSource" ref="dataSource"/>% ~. _3 L9 ?( d) t# V) u! Q! ]
- <property name="mappingResources">
8 k- H( l* j6 U! T9 m+ _9 d - <list>, Z- Y" E( Z! L1 U# p
- <value>org/matrix/conf/ExamType.hbm.xml</value>
! s1 m, s6 B, B; w0 ~/ J - <value>org/matrix/conf/Admin.hbm.xml</value>
+ J. w5 V9 \* y/ e( L7 ~. c: c - <value>org/matrix/conf/Question.hbm.xml</value>
1 z1 x+ `* R c - <value>org/matrix/conf/Student.hbm.xml</value>
9 H. S. `0 k( |2 g ]; }" B9 I8 W - </list>
$ ]2 ]' ^/ U/ a5 W | - </property>( J8 E# b$ P. T4 g1 i A
- <property name="hibernateProperties">
3 U0 X2 U/ Z2 }+ [ - <props> z1 `* v% j: `9 |/ F
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
1 n5 q3 a" F. g5 I - <prop key="show_sql">true</prop>; q; j) _1 m% _9 F' G
- <prop key="hibernate.hbm2ddl.auto">update</prop>
/ F2 \, u4 o& @9 Q, V" U! m/ O% L4 V - <prop key="hibernate.jdbc.batch_size">20</prop>
) s4 q2 d( P2 |4 ]6 O - </props>+ ]- n% u, ]" f, `- j: C
- </property>
" w* o5 m. }7 h) ]: t - </bean>
5 H1 R! q) a7 X; E - 2 r' \% a( C! D9 w& h, S
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">0 x+ _& [9 J, a1 r3 w
- <property name="sessionFactory" ref="sessionFactory"/>" g( h0 I" i( c1 `
- </bean>* Y; x2 G1 D+ F1 ?
- 7 _" v* h. h6 U; `
- <bean id="transactionInterceptor"
2 s3 g. G, m: m& _% }+ t- Q5 ^ - class="org.springframework.transaction.interceptor.TransactionInterceptor">
* }; n2 i/ D) ]# k) t - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->/ I& }$ \+ }: i; _4 u S
- <property name="transactionManager" ref="transactionManager"/>
8 u2 F) `' q' y0 [4 u9 C - <property name="transactionAttributes">
; t3 K& s" e) ~: }( V) E - <!-- 下面定义事务传播属性 -->4 R( e S d* j
- <props>- y" z1 p3 t: u7 e7 T+ D
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
$ C9 c. X5 Z. W) I1 S1 w1 _; O - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>& v% g/ F( p$ W! f/ s
- <prop key="*">PROPAGATION_REQUIRED</prop>7 ?$ Q# N/ }: r5 j( d) U+ h3 _
- </props># s7 B' ~4 ], S# ~$ U3 g8 N( I
- </property>
- J- O8 R5 I& l; V, N" d' Y, b. ~ - </bean>
$ @" C0 _: R- M, L- y) w - 1 u. V1 c$ Y I8 H7 q
- <!-- 定义业务逻辑处理组件 -->
1 K/ U! _+ t2 G# E. m - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
# D) W, t4 I" l5 j9 r - <property name="adminDao" ref="AdminDao"/>/ ?; b% H+ b D
- <property name="studentDao" ref="StudentDao"/>
- }4 x' P0 m2 R" t5 Q4 A - <property name="examTypeDao" ref="ExamTypeDao"/>; Y6 `; p" @. j. A& L$ R
- <property name="questionDao" ref="QuestionDao"/>
+ _+ [4 U; n0 i& [ - </bean>
) N4 k* g3 b8 l$ T& v& t
3 V+ v# x1 W3 s C! z6 F- <!-- 定义BeanNameAutoProxyCreator -->- T7 ~4 }. N$ ?7 p& V
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
) {; U8 d/ B! r, g2 p - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
' i, V5 [( v2 N7 q# _+ D - <property name="beanNames">3 @6 r1 E. h* U6 a# S- a! T: ?& v3 K
- <!-- 下面是所有需要自动创建事务代理的Bean-->: M M0 h+ `' G; ?
- <list>
" ?3 s! d. w8 A9 q+ @ - <value>examService</value>9 h. ^) Z* W3 ^) k7 T# z2 h
- </list>
9 _/ F9 I( a. x4 B - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
# L' o( _, [+ C0 k7 A% S - </property>
; C6 I5 r. \& L A - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--> \) \1 n/ o+ z) ]
- <property name="interceptorNames">8 h9 _9 T4 a2 L4 c4 A* I
- <list> F) G5 s: ~; T
- <value>transactionInterceptor</value>
3 m0 v. b* ~' G3 M( G5 O q/ n9 B - <!-- 此处可增加其他新的Interceptor -->
8 i# l0 M7 S4 G - </list>7 L0 X) g# {3 S
- </property>3 k& A% B! l- ~0 l4 U
- </bean>
复制代码
# u! _" K# ]" m! L8 \
6 W4 m: i2 ~2 n; n8 Q
- c- C. E6 G8 b
/ b0 _% G2 }/ V/ B, W7 J+ z C
( Y. u6 r& T5 l0 p& S$ K* H( r* b% F7 _项目源码下载地址:+ ?% \0 j+ p2 l' d0 X1 V
+ B$ ^3 v+ A/ c
8 c, S! }6 c+ x, R5 n: @" r8 w: G. p& X& t, q
3 N% U( V; }0 y3 \3 B
( }4 P) `7 `+ G1 R6 } |
|