TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:9 o8 O4 n$ q4 Q: a" P7 ~6 |4 v- q
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)& C9 k7 e! _- D9 K5 d8 b
考生数据管理(浏览全部考生、添加考生数据)/ M* s h, e5 K) U4 m
数据表:admin examtype question student& F: S/ ^0 C8 h9 k& v1 D% Q8 P5 j
; n7 a j% P+ p
appContext.xml数据库配置:
9 J; ~, j: q3 H4 p: ` n0 u- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
, E3 Y' o0 o9 p1 P0 {- ` - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
# J" ^& Z* I* `5 Y - <!-- 指定连接数据库的驱动 -->
( L; I+ r0 q$ |5 Q - <property name="driverClass" value="com.mysql.jdbc.Driver"/>( G4 e6 d" q* O, M% q) R
- <!-- 指定连接数据库的URL -->
; k! @6 F9 k( h) u0 Z* ` j/ c7 l1 { - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>0 q$ n! B- u4 t/ h7 K
- <!-- 指定连接数据库的用户名 -->
6 a7 h! h% H( u) e, ~ - <property name="user" value="root"/>4 p4 {( ~& y" ^4 m5 P A
- <!-- 指定连接数据库的密码 -->
; W7 d ]* W) `; J" r0 G: | - <property name="password" value="root"/>7 X; Q7 k( E: h$ H$ q! ^
- <!-- 指定连接数据库连接池的最大连接数 -->% ~' J: I& y: b, K# P& V% t) }
- <property name="maxPoolSize" value="40"/>
- t; K1 f4 E7 q3 `; z - <!-- 指定连接数据库连接池的最小连接数 -->
7 g9 _! J/ a3 f0 A - <property name="minPoolSize" value="1"/>
$ ], ~: k6 H$ q0 u3 _+ `7 [% S - <!-- 指定连接数据库连接池的初始化连接数 -->
6 a, h8 j( ~/ S. }5 f6 w* Q. a7 i( \ - <property name="initialPoolSize" value="1"/>
, B* h- C7 r3 X+ k( { Z" H1 s - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
8 I2 a# e e+ I( M K9 m4 A7 @ - <property name="maxIdleTime" value="20"/>
1 ]# z! x8 O. F! D1 M - </bean>
! _1 S# r# Q2 a/ p }7 S; _ - . L* ]. @+ L s" u9 K
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
" [7 p( j# z, i0 p4 M8 i& t- s - <property name="dataSource" ref="dataSource"/>
* m4 k- i4 H5 R3 G, [+ y; W! t - <property name="mappingResources">
# J9 R; |9 Y* |# N - <list>6 H& W' N/ G3 W- j: a6 \
- <value>org/matrix/conf/ExamType.hbm.xml</value>
" t8 j+ V4 v+ X: I4 |- \) I - <value>org/matrix/conf/Admin.hbm.xml</value>) b' \+ N; y* D& N
- <value>org/matrix/conf/Question.hbm.xml</value>8 V$ W4 T% J3 }' z. `
- <value>org/matrix/conf/Student.hbm.xml</value>8 b/ g5 n3 j' v& Q- S! Q& ]+ D
- </list>
: W, K! a. Y0 _7 R8 M$ ]. L - </property>
( {$ [: q" D& P - <property name="hibernateProperties">
9 x+ N4 Z+ l1 k- y+ C& `5 d - <props>7 w4 Y" z3 j4 Z0 N* D
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>, ]" `& ]: Q- I# m
- <prop key="show_sql">true</prop>
; \5 B5 x; t! Q' I- ]' [ - <prop key="hibernate.hbm2ddl.auto">update</prop># R6 e3 q1 v6 B2 [
- <prop key="hibernate.jdbc.batch_size">20</prop>
0 X6 U5 w# H8 X: x2 ~ - </props>
# H1 W; c2 {; p - </property>; b9 o+ m% q& C$ Z' H
- </bean>
, h( j) y" N/ c! i; w5 k9 { - 8 b& |& ?7 {4 f3 F# x; l: J/ ^
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">+ Z6 j8 n/ G4 F/ Z: k$ ~: x+ H
- <property name="sessionFactory" ref="sessionFactory"/> H' b' y0 ~4 c y: j; y8 O- E
- </bean>9 r# C+ ^0 v& d
, `' q9 x- Z V: @5 I- <bean id="transactionInterceptor"
+ D/ C8 E. ^# w- A. y& S1 W - class="org.springframework.transaction.interceptor.TransactionInterceptor">
9 [% P; y( m" E) S2 K - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
( O+ K. K p( x: t% y' f( V5 x - <property name="transactionManager" ref="transactionManager"/>7 O$ K2 J, T0 F9 u; |+ i9 x
- <property name="transactionAttributes">- O- Q: j* M8 P# @( s, C
- <!-- 下面定义事务传播属性 --> Z2 q$ b. J F2 n
- <props>' E- _& `- U4 Q$ t6 Z2 ?; \
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
2 e# q$ ~" f; b* }3 C& |" x5 T - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>+ F4 l R7 b- |" O5 J% ?
- <prop key="*">PROPAGATION_REQUIRED</prop>! p7 S6 V8 R5 x4 J) t
- </props>
% s! Y' ^- [6 M8 y5 l1 T& A' e - </property>( a8 ?# o; r& z+ n* R! @
- </bean>, F* @/ K2 [6 P7 P4 e. L' s5 A- H
: K1 J0 c9 ?9 P0 e' Y* M- <!-- 定义业务逻辑处理组件 -->+ d6 K" P# g9 }
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
. {+ w9 b6 m3 G p# ~& J6 P - <property name="adminDao" ref="AdminDao"/>; A9 p4 U0 M2 D3 a- M1 ]9 P
- <property name="studentDao" ref="StudentDao"/>
+ F+ f# n1 C! j - <property name="examTypeDao" ref="ExamTypeDao"/>
9 o4 z8 u0 F- u) M/ _$ c - <property name="questionDao" ref="QuestionDao"/>
5 V% H. L0 Q6 O$ Y3 B( ?* ]1 ? - </bean>0 N; ^, v8 M1 l. E
. h+ ]3 \* r3 ]) G. X- <!-- 定义BeanNameAutoProxyCreator -->
# L+ W0 }0 q) C# [& U - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
6 Z5 T: _2 b. g! N7 ~. e" N/ [2 r1 ] - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->+ P3 b4 p. F) t
- <property name="beanNames">$ Q8 ]* @1 J2 U+ F4 l
- <!-- 下面是所有需要自动创建事务代理的Bean-->' B, z9 d! h5 t' |
- <list>
$ T' L/ W7 r0 i- Q - <value>examService</value>
1 b- N+ v! p' O) v7 r - </list>
9 x2 L! N3 g1 K) i) R w9 M - <!-- 此处可增加其他需要自动创建事务代理的Bean-->! o: E9 y! v: W9 n3 B+ G
- </property> R3 D2 {+ A0 K) a) v1 w5 n
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->, d5 ^: h L# s8 G# C
- <property name="interceptorNames">: I; ]" ?- e4 f" X, B& Y
- <list>6 c8 z( }- ?. a% \" }$ i1 U
- <value>transactionInterceptor</value>9 q6 A! j* M# C
- <!-- 此处可增加其他新的Interceptor -->, |3 X- D0 ^* o
- </list>
& D4 n. h4 `! k6 S! J e - </property>: V$ N$ w' l$ g7 o9 P
- </bean>
复制代码 ! \) Y' [# [( }5 a
7 P& T* G$ L' s# P
$ I6 {: Q" @( W: j6 L7 c
, K: E* l. Z7 n! V1 @5 S- ?# u" D% ^
项目源码下载地址:
! [" h3 b% B; G: l: u( c' Z/ R
3 p! q: Z" Y" g# r2 z( a% x+ M/ z$ q! [6 j- e0 `4 ^
2 x7 s/ P1 O5 o4 C0 `
4 k- O. R6 F+ O% l$ c# ?( {1 a# n
' H, S% U+ }! A9 V1 n* T |
|