TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:9 ~( \' S+ e: n7 R+ |1 H* `
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
" S' M+ `+ s6 t0 [' ` 考生数据管理(浏览全部考生、添加考生数据)
) I8 D4 F' U/ U0 h% d数据表:admin examtype question student
; h& M, y- ?2 }+ ]
0 f/ O$ g- k- u3 V$ g- T5 N
appContext.xml数据库配置:
$ t" k( T" j' x8 W$ s$ T" h- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
1 m8 f. _* T4 e8 v4 t - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
! G5 q' s% S- F; A4 Q - <!-- 指定连接数据库的驱动 -->6 G$ q; e7 \6 J- W
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
3 z4 w& S# g. r. o. r' ~6 J$ w/ N - <!-- 指定连接数据库的URL -->% z3 `% `; q; b- Q- N# |* e* W
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>! v) T9 J: x. \* z7 J
- <!-- 指定连接数据库的用户名 -->
$ E; B* [- @4 W. q - <property name="user" value="root"/>+ r" e3 h: ?& [+ G; M5 L
- <!-- 指定连接数据库的密码 -->
; m7 @" m3 J. y' q; \( @ - <property name="password" value="root"/>
* Z3 k" p9 f2 e8 k - <!-- 指定连接数据库连接池的最大连接数 -->) ?- o% l! J8 w, w. @/ V8 l8 f
- <property name="maxPoolSize" value="40"/># s% J/ e9 N" r1 y! @& A x5 E
- <!-- 指定连接数据库连接池的最小连接数 -->
1 c# u( D/ J; }; B - <property name="minPoolSize" value="1"/>
, h8 s# ]% A( ]" W6 J8 u - <!-- 指定连接数据库连接池的初始化连接数 -->- K V2 \7 Y+ p" k
- <property name="initialPoolSize" value="1"/>
) o* M- g1 \' d& r - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->! f* ]/ k- U' D( @% C0 u
- <property name="maxIdleTime" value="20"/>: K: Y8 l9 V8 }0 {# b5 a4 C# ]
- </bean>
8 W5 F2 c5 j/ @' Z6 U8 o D- E - i, [. b! g( n" u$ q1 e/ B# H6 V5 P$ ^
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">. r; Y9 L5 }( X8 L' t
- <property name="dataSource" ref="dataSource"/>
8 d1 I) T% J0 l4 l E+ X - <property name="mappingResources">" b& S# i5 w! S0 Q
- <list>. E" K1 [, G* l1 ]6 g {( W/ q/ s
- <value>org/matrix/conf/ExamType.hbm.xml</value>
, G$ I1 R j" Q( l. Z$ z0 g* `7 a - <value>org/matrix/conf/Admin.hbm.xml</value>
4 U, L2 W( r9 X5 u - <value>org/matrix/conf/Question.hbm.xml</value>) H1 x& Z5 F: h4 E9 K( w9 I4 }; X
- <value>org/matrix/conf/Student.hbm.xml</value>/ k7 J. m3 S/ @7 l8 l$ G' j+ N( z
- </list>
9 ~+ ?; p; N" \4 S- V3 }; p$ e" K - </property>9 _7 R* Y/ \; M6 v
- <property name="hibernateProperties">. j3 C, _; K8 q; N! ]7 ], t3 t/ ^) Q& Z
- <props>2 ?; Z& f: w$ ?- o+ G, y: n
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>$ o3 P" x! L( Q0 B1 k
- <prop key="show_sql">true</prop>
5 Y1 ]+ C+ c& Y - <prop key="hibernate.hbm2ddl.auto">update</prop>3 u8 U) X4 H9 `% `9 f2 z
- <prop key="hibernate.jdbc.batch_size">20</prop> + i( n, I$ ? I5 B
- </props>
5 q, C( G! ^8 w4 w - </property>* r# _: n/ K/ @! i) o! Y
- </bean>
) G6 P, A) Q( o1 s0 m. D - & n* Y$ U; B0 m0 V# v8 d. ~
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">" X% r+ O: Y3 h1 K0 w3 ]
- <property name="sessionFactory" ref="sessionFactory"/>
1 F P6 R7 U! Y0 [% Q - </bean>
1 Q; e( U" M5 j - 7 m: `0 F4 n; a* U
- <bean id="transactionInterceptor"6 J' f% X- G2 P) e# x
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
3 w# F7 A* x9 d7 I - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
) P9 f2 c# i: L - <property name="transactionManager" ref="transactionManager"/>$ q/ g. M8 Y9 y5 j
- <property name="transactionAttributes">
( j7 U' e t x4 _; s - <!-- 下面定义事务传播属性 -->6 [+ d ^ m0 V
- <props>" H9 q( t8 V* H( S- M
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
1 t$ A4 \* t- {: N/ ?. P - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
L! T" h$ {# E - <prop key="*">PROPAGATION_REQUIRED</prop>
6 U, `) f! S) G! l9 A; C8 [9 d& Z - </props>
- A4 @4 W1 O$ G; F) |) p0 D. O - </property>
/ c, ]% b) M6 O; H% ?( z$ u - </bean>
" }5 U& A0 k T& c) H1 S v
, y/ @+ O+ _+ Q: u, M1 u' V- <!-- 定义业务逻辑处理组件 -->! e( z# k& v" c4 N6 q% I
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">9 C; S `/ p8 C9 k# c/ Q+ z8 }
- <property name="adminDao" ref="AdminDao"/>
4 G2 h. V+ R, G+ t - <property name="studentDao" ref="StudentDao"/>! u* x' D: F* y7 f( B- b8 F
- <property name="examTypeDao" ref="ExamTypeDao"/>) s6 L1 f8 m {0 o2 U4 {
- <property name="questionDao" ref="QuestionDao"/>% z# z: f% ?( w$ Q+ |7 m' @6 D
- </bean>
8 j3 f' f4 H5 H* {
) r$ v; J9 w- ]( [4 _- <!-- 定义BeanNameAutoProxyCreator -->8 ~; _: B2 G; P6 p5 f
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
8 L3 V' y) ~- r7 \6 _ - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
6 Q" j6 l( a5 ~' h3 h3 z+ u - <property name="beanNames">
' b& i d% ?! n; s - <!-- 下面是所有需要自动创建事务代理的Bean-->
/ z- o8 R- B. u6 Q5 `8 S - <list>. t5 x( J; l- s8 N5 f6 U
- <value>examService</value>
7 @3 B' i3 u6 t- X1 \, g7 b5 A/ p - </list>: w3 ]* B3 i8 h5 @; b4 l9 w
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->; ^9 c5 l: q! A; M
- </property>
1 l2 L2 ]" P& r: k - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->2 n. P; k3 }8 Q4 n( Q
- <property name="interceptorNames">
5 J: B+ t g* |& T6 R3 e" L* { - <list>- C: Q! C) i! }( e- a( |
- <value>transactionInterceptor</value>& H8 s W! h" B' E( M5 ]9 |
- <!-- 此处可增加其他新的Interceptor -->
3 m9 ?, m* C8 A' [. x# X - </list>- m9 |9 U+ O. d v
- </property>
0 d1 Y9 }6 w. X& j' v* H* {" X$ J - </bean>
复制代码 & q4 t, H) Y, q# ~; l7 N+ T7 T4 k/ A
& s1 r8 J) X* T: u. E* k, D1 }( h
8 I- o! }' [' O2 Z- l
# o2 o: B- `4 G. l' F- @ d& H* q6 Y) j+ p9 w7 g# q' R* Y
项目源码下载地址:: R5 w' t/ Q% E8 X/ }# o) O
; b; W2 T( @* C
* L& z+ l1 }7 |) s
% h+ u, @6 H, [& }9 |; N
3 B; {% W! [) ]9 R7 `
! t# S [& C, t8 N: X' K' P" M |
|