TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
+ B" C8 E3 h/ t模块:试题数据管理(添加考试类型、添加全部试题、添加试题)2 j9 R. }4 \' L. e9 O* @
考生数据管理(浏览全部考生、添加考生数据) z; x& n3 n d- |1 R0 ^
数据表:admin examtype question student: y R& p; U9 f3 f, h/ m
5 L2 D N* v( b1 v
appContext.xml数据库配置:, m$ e J. S: J# I) O
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
1 M8 R5 o* s. [( o( _ - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">" Y* Q: `0 _% z E5 c3 R. R, x
- <!-- 指定连接数据库的驱动 -->
9 f) d6 o( Y, i" ^! w - <property name="driverClass" value="com.mysql.jdbc.Driver"/>
% n- m$ K, b: M; B6 P; K - <!-- 指定连接数据库的URL -->+ B! u3 e% f% L7 E4 @/ o# l0 ^
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>7 u4 J( o7 v6 x3 _8 m$ |
- <!-- 指定连接数据库的用户名 -->
* n* d6 `! z, |$ t" @3 K/ { - <property name="user" value="root"/>; P, n- c) o0 w* y& \# k: B, F5 |! X
- <!-- 指定连接数据库的密码 -->
' }( i: c5 x/ H0 R' w - <property name="password" value="root"/>0 A. Y0 ?: B' b! F1 b+ `* I
- <!-- 指定连接数据库连接池的最大连接数 -->+ }% f2 H! x( L- I" t
- <property name="maxPoolSize" value="40"/>
1 r( [4 x9 H6 O F s! g9 X - <!-- 指定连接数据库连接池的最小连接数 -->
" @+ ]6 C! b. f# A) h8 o - <property name="minPoolSize" value="1"/>
; e8 {+ A( v, `4 O) Y - <!-- 指定连接数据库连接池的初始化连接数 -->
* i6 L' R# J- B. j8 O, q, p, R - <property name="initialPoolSize" value="1"/>
' F9 [9 A2 m. K! c5 B - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
$ y; @) y2 j8 g0 o - <property name="maxIdleTime" value="20"/>& W, W, P- U9 ?* l, V6 H: J
- </bean>6 l5 J% h! h& X: u
- " o+ {, U- n5 N+ J, i
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
# e) J% \) L3 b b& w - <property name="dataSource" ref="dataSource"/>; P( j4 `9 }! e" i2 A
- <property name="mappingResources">+ K" g4 t6 i8 l' y: k
- <list>
# q( \% U( {9 X. [6 p - <value>org/matrix/conf/ExamType.hbm.xml</value>
4 O' K/ L2 ]8 s) V - <value>org/matrix/conf/Admin.hbm.xml</value>: e* \7 P1 i* L$ `& t# @
- <value>org/matrix/conf/Question.hbm.xml</value>
1 u0 v( D' I. d! V9 K - <value>org/matrix/conf/Student.hbm.xml</value>/ G6 m) H* x0 ?1 n( K' L7 R8 s$ ^
- </list>" ~+ i. P J0 F5 t, b
- </property>' F- [4 I( S0 \1 P3 [- [% l
- <property name="hibernateProperties">1 G6 s5 | K% G8 T, W
- <props>
+ a* R1 d2 Z. e0 m$ y" b) l - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
/ T3 I6 Q4 R3 n# g5 b - <prop key="show_sql">true</prop>) k( J+ J; x |7 j
- <prop key="hibernate.hbm2ddl.auto">update</prop>5 M5 {, o$ b/ \! { }
- <prop key="hibernate.jdbc.batch_size">20</prop> * W0 p F% g- ]* \1 U# E
- </props>
# j$ d# | O7 \! r - </property>" n! L+ L8 A' j# ?- x0 W4 s
- </bean>
4 q" @9 R* q+ `$ M - 2 r4 Y. M- G! w3 N
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
( J) N5 V3 l1 i2 N4 C6 B9 \- f9 z$ ~ - <property name="sessionFactory" ref="sessionFactory"/>
; ~( x' x. r1 Y+ ` - </bean>$ }) _+ n) F# M# u2 ^
, g& f% y9 x d f1 d- <bean id="transactionInterceptor"
9 w3 ~, M7 N2 p; N - class="org.springframework.transaction.interceptor.TransactionInterceptor">
) M2 t2 Q6 n! e - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
1 K# R# f5 _( i - <property name="transactionManager" ref="transactionManager"/>
6 O; i! N6 E% L! n - <property name="transactionAttributes">
8 ^+ W( k: J# o# U% k0 p - <!-- 下面定义事务传播属性 -->/ D7 u! y! G H
- <props>
6 m z9 R4 Z" c- X - <prop key="insert*">PROPAGATION_REQUIRED</prop>: [" h: @( B' S) O$ A d S
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>' c* D7 G0 Y, N' j
- <prop key="*">PROPAGATION_REQUIRED</prop>
& S, N1 G% M6 T% A# ? - </props>
5 |- |: Y) v% j - </property>
' T( \% m# l% s" e( x) x9 `/ D - </bean>2 i: I s; Q% H) Q9 _% a1 H' Z
- : e. I& R% n9 E2 T7 ?9 L6 n
- <!-- 定义业务逻辑处理组件 -->- X, v/ s6 _- O N* f0 c
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
4 ~) r7 O' h/ q. l: T( E4 U1 |4 i - <property name="adminDao" ref="AdminDao"/>! z; v) p5 J9 C; ^- b
- <property name="studentDao" ref="StudentDao"/>% \8 V, c0 m3 D* `
- <property name="examTypeDao" ref="ExamTypeDao"/>
% v9 E' l1 E$ l* ?, M* ] ~9 I - <property name="questionDao" ref="QuestionDao"/>
, r1 K z( z: N" m" w8 Y - </bean>% F& f. C; g: n$ j/ O
- $ G( p A: Y6 r
- <!-- 定义BeanNameAutoProxyCreator -->5 V3 z E/ s7 h' e" T. _5 y
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">- d& `! ^4 G1 w. x" h
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
8 H1 C/ A0 B g& ?/ G4 ]' O - <property name="beanNames">
' n& z5 T( T% U" x - <!-- 下面是所有需要自动创建事务代理的Bean-->
; Y7 L/ E, ~1 P7 K4 u - <list>
4 M& _0 {! I& e# a6 V - <value>examService</value>
/ \2 c% c1 E: l. {9 [) n3 ] - </list>
( d1 W1 w8 K; N0 {& E0 ]/ v1 v - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
# N6 ?# E- }3 s/ ` ^/ V - </property>( l3 J' t8 g* D" i
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->% D0 P5 ], |# ^ b# J- G2 S
- <property name="interceptorNames">
% j- V3 ]( U& h% y" _7 }; t - <list>
6 f2 |3 m& ^' q- X( J+ ?8 M. J, M - <value>transactionInterceptor</value>
: T1 ]8 F. t* S! b - <!-- 此处可增加其他新的Interceptor -->
5 ?" Q) G! v# X" d/ D5 l4 i+ C - </list>
4 c! S8 B+ N3 C& C8 B9 K+ `, ]' D - </property>
) w) F" A& m: D& H/ ^ - </bean>
复制代码 , Q8 _6 R+ U# y
/ }$ R* K6 F1 d' H
5 I* X0 a* _$ k- c+ e) v; M
0 D6 a$ w* v( n5 d6 S
- ~4 ~+ s0 |' `1 e r: x4 q# y项目源码下载地址:% c2 k( W" T9 h# Q3 }- o/ L
: E4 c0 S- m3 z' i
! z3 S0 Q+ Q5 F( @4 G) S) Q
) j* o. H5 C$ i' j2 [
7 a+ B% g# A4 J% t) i A9 _
0 V' P8 \% r; ^+ J |
|