TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
2 _ x+ k8 i; w" w! O. |. E' N2 L模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
& i/ c5 y2 ]( N 考生数据管理(浏览全部考生、添加考生数据)+ ^. ~0 R" \- t
数据表:admin examtype question student
1 G% ]: d! n$ m* ? x
: S. F4 K0 p# B. ^( A u
appContext.xml数据库配置:
- F, u$ L- C, C4 O- <!-- 定义数据源Bean,使用C3P0数据源实现 -->4 y1 g5 d: y2 k" Z3 C' w
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
: ^' t, {# W d - <!-- 指定连接数据库的驱动 -->, Y" p9 @$ e0 S! f
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
/ x1 I3 E$ t! E) W+ @: h - <!-- 指定连接数据库的URL -->" X1 e8 ~6 l! [/ c4 J
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
2 W1 H' G I9 w' T; y6 C8 E2 l. z ~$ a - <!-- 指定连接数据库的用户名 -->: ]8 E' \& V5 n6 W" X5 z6 [7 _" L
- <property name="user" value="root"/>
) o' W) z8 j0 h! u6 I& T - <!-- 指定连接数据库的密码 -->
+ t5 p5 R8 C7 O& g, \2 J - <property name="password" value="root"/>
3 m- a" _% U8 I B7 r - <!-- 指定连接数据库连接池的最大连接数 -->
( o$ f& J, N+ r+ A2 `( A) ?3 j - <property name="maxPoolSize" value="40"/>
) H9 p T/ {. P7 `& ~. L - <!-- 指定连接数据库连接池的最小连接数 -->2 ~; f) o" B) f6 R. ^: A
- <property name="minPoolSize" value="1"/>
, B; O8 u) [& t* d0 I" Q/ ~) G - <!-- 指定连接数据库连接池的初始化连接数 -->% K- g0 R$ @6 b: H, e
- <property name="initialPoolSize" value="1"/>/ }/ R5 J* t9 ?& Q* K& G2 |9 l8 a
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
8 p0 {; S8 i# _/ e; N( E* ] - <property name="maxIdleTime" value="20"/>! `3 _6 i. C2 o) t
- </bean>
8 Z; d. K2 M& G0 }1 `
H3 }) n0 @8 I' F1 u0 M- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">) d: r% T; B9 l6 a: Y! c0 x
- <property name="dataSource" ref="dataSource"/>0 ?2 N# j: D8 O$ l' S: V& j
- <property name="mappingResources">1 n( H0 T" g$ ~* F
- <list>
* V/ b8 j Z2 v7 T5 K2 K) ~ - <value>org/matrix/conf/ExamType.hbm.xml</value>$ \# h6 f8 y) m& w" K) v7 A
- <value>org/matrix/conf/Admin.hbm.xml</value>1 C: r& g; e1 z
- <value>org/matrix/conf/Question.hbm.xml</value>
k: m( K" a( s# P9 F* \ - <value>org/matrix/conf/Student.hbm.xml</value>' `! t7 m2 H' D8 @) X; m% z
- </list>8 z0 f8 o4 W" t9 S* e; F- q
- </property>- C1 }. B/ t; h3 H$ }) B
- <property name="hibernateProperties">0 ]. A/ }$ x! Z V2 t
- <props>
, Q# _3 W( m7 D* C! ` - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>: R, V( ~; \# U, J0 @# V
- <prop key="show_sql">true</prop>) H* b w0 q( a$ W
- <prop key="hibernate.hbm2ddl.auto">update</prop>: U9 R, y6 t/ d! z2 t6 \
- <prop key="hibernate.jdbc.batch_size">20</prop> 9 p* D' C" \) }3 {( z. t( i$ F
- </props>( H4 ~' _7 I7 s/ N5 ^3 Y P7 p
- </property>( ?* b! X7 y2 o. g o3 g/ w" c
- </bean>% }' O) i, ` ]
- ! g' w# G4 n2 l# }/ |# w8 u
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
& B* I3 x$ {- S: J { - <property name="sessionFactory" ref="sessionFactory"/>
0 b9 s7 E9 W( U- V; x - </bean>
6 P* _5 t; S1 \4 @# z - - v% y9 _( F* C+ G8 z9 }# D! j: ~7 [3 m
- <bean id="transactionInterceptor"
4 }" y( W5 Y) t9 U - class="org.springframework.transaction.interceptor.TransactionInterceptor">/ c3 B0 Y# q! t, b+ \
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
2 p* R! \+ Y9 K2 s% c. }5 l4 r - <property name="transactionManager" ref="transactionManager"/>4 T2 q; l' o5 I& u8 K& t d
- <property name="transactionAttributes">4 p0 C1 o1 W5 I; _/ e
- <!-- 下面定义事务传播属性 -->
# D( @$ d: Y0 @ - <props>9 ?* `; f$ [8 }
- <prop key="insert*">PROPAGATION_REQUIRED</prop>9 _& Q0 }) N( |9 F
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>% Q0 G: j6 Z5 O3 e
- <prop key="*">PROPAGATION_REQUIRED</prop> h' |& A3 @4 u4 q2 P# k
- </props>
( W3 j+ a; A- Z% w1 _) f - </property>
3 `$ B8 z9 d9 _. P5 s - </bean>
7 Z5 Z! j. M; S3 H - % @1 E4 c; M) g9 D% H* x- Q/ A- K, E
- <!-- 定义业务逻辑处理组件 -->
/ b# t* g; `9 Y3 Z0 N9 _8 x' | - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
. H1 i* f) S! `' f- m5 k" b - <property name="adminDao" ref="AdminDao"/>% j6 ^$ [, k' M( Z U" E
- <property name="studentDao" ref="StudentDao"/>
% q& ?& s8 s6 D2 t8 j2 u* c - <property name="examTypeDao" ref="ExamTypeDao"/>
0 p! l. ^7 B4 u - <property name="questionDao" ref="QuestionDao"/>: ?# U4 o" ~3 s* n! {
- </bean>6 Z% P9 `. k4 X/ ~2 s7 u3 {0 j
- 8 R$ M& e9 ~& N6 n3 M
- <!-- 定义BeanNameAutoProxyCreator -->9 l& |1 m/ f- ]& h% F$ y8 b d
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">, d6 W) A. Z+ j8 J# `% b- S
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->: T' N9 @1 C) u; l% q
- <property name="beanNames">5 u" {4 K; ?, Y1 x! i9 V
- <!-- 下面是所有需要自动创建事务代理的Bean-->
* l7 m. P1 Q' R. j3 Y& o/ Z - <list>) N% v; B0 M6 `& T5 C
- <value>examService</value>
& U8 \. @; O* \. y5 Q2 b - </list>
- v7 P5 e7 q7 A* j2 z* b/ R& r; E - <!-- 此处可增加其他需要自动创建事务代理的Bean-->4 x. f/ o% ]% b) L
- </property>
* i3 M! @2 E5 P# {/ v - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
2 K: u) I! b) q- { - <property name="interceptorNames">
b* ^4 M* s: N h - <list>+ E, v0 K8 R; y. T- ?8 [9 c' @6 t8 O
- <value>transactionInterceptor</value> `- b$ @6 v- t4 G5 O- o* V$ {% C
- <!-- 此处可增加其他新的Interceptor -->
0 k6 N# s$ p" ~. z; L; { - </list>
& e. E, y7 ?( e; I7 W) q7 y* \$ k; d - </property>! y- }5 F1 t+ E$ [, q
- </bean>
复制代码 - H( M( L0 M) \0 @$ R
: g" I& B% I0 e& c+ I! y
1 H8 x- _4 z* o
% z' w) O- G. I; t
, R/ j$ g9 e) Q: {项目源码下载地址:6 t, @1 v4 D6 i# n2 W% k5 L0 s
: J' s* X' C; D: h4 \( R9 A/ Q3 h& U8 e: G2 V# R _0 v A
) ?6 A7 Q R+ p2 T, [! J. C- `# R$ X9 Q4 q; t* g! U5 m) Y
; G8 N" u1 j& n5 ~, ~
|
|