TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
0 T0 |: @3 W- e模块:试题数据管理(添加考试类型、添加全部试题、添加试题)- O! r m% ?; U
考生数据管理(浏览全部考生、添加考生数据)
4 @, ~9 i- ?0 n0 p数据表:admin examtype question student
$ @6 X& V( Q y, q5 r
1 D5 ?7 I, e& L: u' L& g
appContext.xml数据库配置: D Y/ f$ e; {5 i4 \/ _
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->2 W2 _" h, f' M& P; \+ Z k. L+ c
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">5 v E5 s2 O' ^ c, R
- <!-- 指定连接数据库的驱动 -->
* J. i) I! \7 F3 @ - <property name="driverClass" value="com.mysql.jdbc.Driver"/>" t; {& S _ ^
- <!-- 指定连接数据库的URL -->
" G& E3 E' X2 l* I2 k" r0 A6 d F - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>- K* X5 N" L! Y( u5 o* d
- <!-- 指定连接数据库的用户名 --> i6 Y3 W P0 i3 [
- <property name="user" value="root"/>. j& q8 [6 `! O1 b& f
- <!-- 指定连接数据库的密码 -->
3 d. ^& |" M W9 W- y - <property name="password" value="root"/>3 q$ R' O/ ~( u4 A8 g1 ~
- <!-- 指定连接数据库连接池的最大连接数 -->
' N5 M7 q4 z' g d - <property name="maxPoolSize" value="40"/>
: d$ j7 A' {7 A" p* B! f# R7 i- t) _ - <!-- 指定连接数据库连接池的最小连接数 -->( D4 n( j+ M3 q4 `, O- \
- <property name="minPoolSize" value="1"/>. v- d9 p$ N- l3 P" `& j. [# b
- <!-- 指定连接数据库连接池的初始化连接数 -->6 k5 ~: K+ o0 W4 O
- <property name="initialPoolSize" value="1"/>
8 S" Y. i. K- b/ F - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
* M& P6 L) L5 ^ - <property name="maxIdleTime" value="20"/>
! r$ _9 _2 e9 ]' D - </bean>0 M1 S5 q7 r, K H
- 8 c9 s# a: i# I2 h# m8 p# O9 y0 ?
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
8 _% t+ L1 { `" h" V - <property name="dataSource" ref="dataSource"/>. I& ]9 |7 P8 ?
- <property name="mappingResources">! ]! A4 {% ~. R% y5 G) D" b
- <list>
9 x9 `1 j! }% p3 G0 D: P% X" \ - <value>org/matrix/conf/ExamType.hbm.xml</value>
) p0 r, B# j6 V - <value>org/matrix/conf/Admin.hbm.xml</value>9 D' u0 t8 i7 K' C, }
- <value>org/matrix/conf/Question.hbm.xml</value>/ k6 r. n9 ]( @6 J7 {3 ?' s7 L' i
- <value>org/matrix/conf/Student.hbm.xml</value>- `# y$ V/ U% u0 }! R/ z* M
- </list>
- z) G: H2 U: d4 c( H - </property>
/ q. n% A5 L" p. _" T - <property name="hibernateProperties">
1 o1 [* M# G; R' \! ~ - <props>
" [: f$ e$ J0 L0 [( ? - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>% T6 |9 I" I- f# [8 p% ] I. z+ Z* O" c
- <prop key="show_sql">true</prop>
8 a3 a F& @1 I. E- B7 P1 G - <prop key="hibernate.hbm2ddl.auto">update</prop>
7 P, c8 v ]( B2 }. { X+ W - <prop key="hibernate.jdbc.batch_size">20</prop> 7 h: I( J) q5 a; b
- </props>
7 m0 }( f/ Q! c% ^/ O! E - </property>' f* V5 [" |9 o. {: t% \: A* M, ?
- </bean>
( U4 i) k7 y0 c( P ?( F - 1 @* L0 L* h- D- `% `
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"># I& \9 B. T" @! L5 n2 i1 L# Q* F
- <property name="sessionFactory" ref="sessionFactory"/>
& \2 Y9 `+ ~& O" \' D, N: [% q - </bean>' \- Z- U+ ^/ Q
- 9 J& f$ f6 @0 j$ ^- ~! s7 i
- <bean id="transactionInterceptor"
7 H8 P; t+ k- e7 G0 f6 c - class="org.springframework.transaction.interceptor.TransactionInterceptor">
9 _% k6 [( U$ t! n - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->8 c! N6 @+ D1 q* P; K
- <property name="transactionManager" ref="transactionManager"/>
" U% H0 Z6 O3 l; M - <property name="transactionAttributes">' \8 v5 u; S2 F
- <!-- 下面定义事务传播属性 -->' F' g; V1 q4 c
- <props>2 F1 N" x# z n6 m
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
: d& e8 r. C) I - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
8 x3 ^' e+ f; y - <prop key="*">PROPAGATION_REQUIRED</prop>6 O, F, m# \5 S1 X- W
- </props>
% V5 T& P* t1 d8 [/ \; }* d - </property>) L6 |( X6 H5 }6 G
- </bean>
2 u/ X, {: Y0 R3 a) o$ R. H
6 ^; }' ?% Q w- W, |/ [, t- <!-- 定义业务逻辑处理组件 -->' i' H$ L6 Z0 q8 \
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
. `) O1 e1 R7 u% L A - <property name="adminDao" ref="AdminDao"/>- z$ U4 j5 t7 ?* \
- <property name="studentDao" ref="StudentDao"/>3 f5 U6 F5 d' R3 H, a
- <property name="examTypeDao" ref="ExamTypeDao"/>* {0 i& W$ U) Q0 j
- <property name="questionDao" ref="QuestionDao"/>
$ w, C% d2 ?. o* G2 ` - </bean>. [" ?* u8 \. n# J+ F3 q9 f" P
- 4 c2 K2 w- _: z. i# q+ `9 y' x$ p
- <!-- 定义BeanNameAutoProxyCreator -->* _6 H, y$ n, W% q2 S+ N
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
$ }( e4 l F( b+ F/ \) L, L4 g+ k - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 --> R5 w7 n9 M2 P& D& ?+ h& q
- <property name="beanNames">
6 [9 P1 x" ^7 v& @% p - <!-- 下面是所有需要自动创建事务代理的Bean-->
' R2 J0 f5 H) m ~ - <list>
3 @5 {+ r2 S7 s5 [3 _ - <value>examService</value>
! C7 n) I. E* \5 W7 Q6 I& j9 d - </list>
. _" u( _+ r5 E1 C0 h( f9 ` - <!-- 此处可增加其他需要自动创建事务代理的Bean-->( z! T P1 g8 _2 v, i* i
- </property>
# f) _! F- y* W9 S8 d - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
2 v) X+ s: r( U& f - <property name="interceptorNames">
! J1 z4 o' s9 B3 l - <list>' ?9 g) k' ^% z. S) T
- <value>transactionInterceptor</value>1 i# t k- R5 N* \* I" ]' x
- <!-- 此处可增加其他新的Interceptor -->. g: g' Z# m5 A! Q8 L* e
- </list>
; r4 t+ `: }, O7 K7 _+ U - </property>" k' ?; K+ J h6 b6 `7 Y1 M- A
- </bean>
复制代码 ' H1 z7 a) M6 g- c* b+ x7 R
# \5 @* @1 G Z& m
6 B( P. ]" |$ i5 T( Z
$ g* {5 r" _/ J
+ R9 L. F8 t( z. R
项目源码下载地址:; A6 H, e! _( l
5 w( w. u" U2 L& d! H! Q
' L0 }6 k1 X# y
Y$ }' E5 s* E7 o4 H1 K! d* B3 l
! f* [8 n( c2 F, Q8 ~8 Y
/ m$ I& J' t8 C1 ^0 S3 i2 X |
|