TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:3 L( p4 b1 o D5 g
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)! K2 x+ E) g* U% y% Z
考生数据管理(浏览全部考生、添加考生数据)2 T3 r" X$ _: e* P! q( f+ k
数据表:admin examtype question student* V6 y- ]* \& I
, m+ V) _- Q3 C
appContext.xml数据库配置:" f9 _' x' H5 _. }6 C X
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->. f# h+ a* e- j* q) A7 a- o
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
, g% W! @& S7 t5 A$ M - <!-- 指定连接数据库的驱动 -->
) G; P6 G9 F! t! l( A1 v# B - <property name="driverClass" value="com.mysql.jdbc.Driver"/>* M5 i: ^# u( d9 e. O( E+ P A
- <!-- 指定连接数据库的URL -->
1 h+ K% c0 P6 v: F5 } - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>' E' Q1 g7 v0 Y: e! y
- <!-- 指定连接数据库的用户名 -->) v' D3 ^! ]! N. N
- <property name="user" value="root"/>
( x. z% v- d: G g( K - <!-- 指定连接数据库的密码 -->$ B- m+ [! i |
- <property name="password" value="root"/>' U Z" ]3 C$ G2 u: M, p
- <!-- 指定连接数据库连接池的最大连接数 -->
5 ?" g# |8 Y8 S5 F1 e - <property name="maxPoolSize" value="40"/>
" a! K% U) P9 T6 h - <!-- 指定连接数据库连接池的最小连接数 -->" O- A2 j7 r" o) B0 J
- <property name="minPoolSize" value="1"/>
0 o2 g! d0 T0 {$ ?0 z0 i0 o - <!-- 指定连接数据库连接池的初始化连接数 -->
6 h2 Q# t+ _0 Y- r! J6 P [ - <property name="initialPoolSize" value="1"/>' v9 v! E' K; _0 d, U
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->$ R) }3 b+ V! S
- <property name="maxIdleTime" value="20"/>
. `$ L6 o7 |* \$ U0 h" E, Q0 q - </bean>
& }% @ r0 G+ R1 p( V1 ` - * Q8 b# W- l4 k2 B
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">( G& p" M2 p: ?1 P, d4 J
- <property name="dataSource" ref="dataSource"/>
; Y, ?% P$ X" o- L( ]. v3 e! k M% s - <property name="mappingResources">
! D1 D3 Z) W6 C$ _3 d+ M4 b - <list>
6 p" {: Z" ], V - <value>org/matrix/conf/ExamType.hbm.xml</value>
( D7 v+ s }" W* G2 q F - <value>org/matrix/conf/Admin.hbm.xml</value>1 P Q; V+ ]9 ~, p2 x* t
- <value>org/matrix/conf/Question.hbm.xml</value>
- j& W! h' s7 a+ ^/ q - <value>org/matrix/conf/Student.hbm.xml</value>
4 k0 ?4 _3 u& z [ - </list>/ O% v3 v9 J+ E6 G6 p
- </property>' ]0 j% ?' [" g9 a
- <property name="hibernateProperties">
5 h. L) D7 L& |: X1 h - <props>6 A+ }1 L, P: _* g: u( q9 F
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
% _+ e* d2 ^$ B0 G - <prop key="show_sql">true</prop>
6 G3 U5 P) F' o# I$ h$ U - <prop key="hibernate.hbm2ddl.auto">update</prop>
@, c9 Z# Y! q) a7 C4 i: C - <prop key="hibernate.jdbc.batch_size">20</prop>
7 _# v) {; P; S2 i+ c! k. d - </props>
) ?8 b8 R5 Y; d4 B - </property># o/ o7 y2 D; E; Q1 X
- </bean>: P6 n' s9 U4 N4 q. i
- - e; V! N3 z1 K9 u6 h* C$ v
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
: C% D( q7 t8 F5 [( ~" O - <property name="sessionFactory" ref="sessionFactory"/>2 m# Z8 k a3 ?! I8 G% c/ l8 R+ V
- </bean>" D: l# p3 J7 `# S
2 D+ k3 I: N7 w) W8 b" }- <bean id="transactionInterceptor"
$ I3 W# |( W8 n- O - class="org.springframework.transaction.interceptor.TransactionInterceptor">
' f" i3 V$ P8 L3 L- }- v - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->2 y v9 s9 j0 O, k1 A9 W: S
- <property name="transactionManager" ref="transactionManager"/>' I4 j% Y5 R! ]$ D
- <property name="transactionAttributes">
: D6 q) @. u/ {8 O' a - <!-- 下面定义事务传播属性 --># I; \- P$ p& i" _
- <props>) ?- u% s6 M2 J/ C( ?4 N
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
- n) y9 y% G& V- h2 `/ X - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
" e4 o* F. l6 U$ q9 P5 d# m - <prop key="*">PROPAGATION_REQUIRED</prop>
* i% X, M) u% w' F - </props>
" g) D: H, {* @ - </property>
% z9 O, F- E, x; _6 Q - </bean>
+ K0 g" }" J4 N6 D! l( x* t - ) m4 \. Y1 s# L, e' r3 p. m. r1 t
- <!-- 定义业务逻辑处理组件 --># q1 D1 \5 I, }: K2 ~
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">. a1 E7 H" h" y
- <property name="adminDao" ref="AdminDao"/>
/ A/ }# j9 Z* G$ q - <property name="studentDao" ref="StudentDao"/>
) Y0 {9 l0 I+ R! u9 y+ x - <property name="examTypeDao" ref="ExamTypeDao"/>* A! v& L; F, K! g- r( K; T! R
- <property name="questionDao" ref="QuestionDao"/>! y) F; M" M$ ]9 O* g+ c
- </bean>. w0 N" L% r5 d% G8 F
- 3 _9 |( k! I" e& d7 k5 r B, f
- <!-- 定义BeanNameAutoProxyCreator -->! O, ^0 k: l9 V/ Y- C/ m! Y% k, [
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">' u1 `6 b9 G, `( t2 D3 C$ B
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
. r& u5 }/ ^9 B" r, J* P. I - <property name="beanNames">3 t2 N! u1 g3 [7 k: ~1 @
- <!-- 下面是所有需要自动创建事务代理的Bean-->9 e1 ?& k2 [& h7 Y0 C$ D8 s/ A
- <list>, X( O$ {7 K7 y }( z3 Q3 }6 x
- <value>examService</value>
3 W: s+ O7 o+ |# q5 J; k3 E - </list>' }+ M; X; n3 c% C! I }/ y
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
0 U' z% h9 Q4 S+ O - </property>
) q8 E' x3 t8 A6 s/ E - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->4 L( O* S* e5 B4 \$ g6 h, f
- <property name="interceptorNames">: K. n% P0 I7 B# t6 z
- <list>% x$ b, _' g) M0 Q* s1 F$ [
- <value>transactionInterceptor</value>
( N& s+ u: a6 Q/ g8 c3 n - <!-- 此处可增加其他新的Interceptor -->
1 H. g% G5 O) Z1 j8 c/ t - </list>
7 a* ?8 K3 r) D7 L3 V% l) ~2 \ - </property>+ c* O& w' z! g" L# S
- </bean>
复制代码 # k) r+ P7 J+ g
, F* i; w) q3 `; A1 @* B3 V
5 I, P8 z7 ?! J' L4 O
" P; E4 [, {4 n4 ?, r! i
1 ^8 Q2 U+ z9 Q" l0 [/ B4 v4 E项目源码下载地址:; j3 y. w1 J- C Y
" k3 ]4 G N3 F+ ~' @+ `4 i, t: m- J. {2 L1 x$ N: r
& u t$ ]7 E$ L `) x6 t7 e0 _) d' z
; \) G. K- r2 ~8 y
# H- D& l) _3 s* R1 X% g
|
|