TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
% o2 {9 |& C2 I8 }, P" {模块:试题数据管理(添加考试类型、添加全部试题、添加试题)8 y. v6 z) W1 O: v, u6 p, j
考生数据管理(浏览全部考生、添加考生数据)
$ |, \( d! b4 R# c* x- n4 H, Y数据表:admin examtype question student
! h6 |" w: ^: y8 }
9 o6 _! v9 V/ T, _
appContext.xml数据库配置:
6 t- Q7 g: M. {- <!-- 定义数据源Bean,使用C3P0数据源实现 -->3 e- L' c' v. @. g I" L" X
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">2 l- B' @" D+ _( [" K/ S
- <!-- 指定连接数据库的驱动 -->
5 T4 c' f1 A0 I1 l0 l - <property name="driverClass" value="com.mysql.jdbc.Driver"/>
k" q/ \4 l/ u; `4 r - <!-- 指定连接数据库的URL -->' k. Q/ X( l1 H; D& x- x6 o! S
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>- c' D6 J/ A3 D3 C- ]
- <!-- 指定连接数据库的用户名 -->/ d4 T1 t Q- I. h
- <property name="user" value="root"/>
: f) ] p% z: D" w+ |( }: Q. ]$ c - <!-- 指定连接数据库的密码 -->! Z1 M+ @( f: F7 Y+ ?: M
- <property name="password" value="root"/>, E# l6 i4 ]! x$ F T3 P4 R7 J
- <!-- 指定连接数据库连接池的最大连接数 -->% ^- n* U- Z; g
- <property name="maxPoolSize" value="40"/>
4 u2 ?3 K% X* P% a% `/ v7 O; ^- t; j' p - <!-- 指定连接数据库连接池的最小连接数 -->
$ A7 v2 G) {% h" [2 [ - <property name="minPoolSize" value="1"/>& h/ \, m8 \$ t% n
- <!-- 指定连接数据库连接池的初始化连接数 -->
6 \ r5 J9 Q1 a* d - <property name="initialPoolSize" value="1"/>& N' ], s2 j3 U8 N6 d0 F7 C
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
3 s0 Y% T% i3 h4 z! k" e - <property name="maxIdleTime" value="20"/>
" m8 v+ K# C: L. C5 x; _ - </bean>8 G' A {9 E% e( m0 I1 k
6 \7 K Y Q+ j( e- ], ~- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">7 n; H- P: y; G- Z+ w1 |
- <property name="dataSource" ref="dataSource"/>/ c4 |$ k1 z+ z$ ?* K9 Z% y, v( q
- <property name="mappingResources">
+ a7 t1 f, T, `( ~% L0 I) @ - <list>
4 N9 U5 G/ X1 K( j+ U - <value>org/matrix/conf/ExamType.hbm.xml</value>
, F5 P9 N3 l$ p$ z( y; M - <value>org/matrix/conf/Admin.hbm.xml</value>
: [+ e$ ~+ O/ ^( k. l2 c - <value>org/matrix/conf/Question.hbm.xml</value>' _5 q+ }8 j6 r& c8 h2 |
- <value>org/matrix/conf/Student.hbm.xml</value>
- T! ~3 z' {+ ~- Q7 ]/ E* A7 R - </list>$ p9 Q* ?2 t! s8 _' F
- </property>
4 v$ m$ u( N+ \+ ^% Y0 E( ] - <property name="hibernateProperties">4 |) k1 J/ \0 Q# u7 l& Y; o( M! U/ m
- <props>
9 j' A. j I' |+ O) t( R# T - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
/ c, Z- [* b/ H% Z- I- J - <prop key="show_sql">true</prop>
X% m" w% K" a$ Q# Q4 z - <prop key="hibernate.hbm2ddl.auto">update</prop>
+ P! A6 L9 J4 ^& r0 G - <prop key="hibernate.jdbc.batch_size">20</prop> $ o+ z: L5 m: `. J. t% x( h- ^1 e( `
- </props>
% { c) i. c2 x/ a - </property>
- P5 G W& S! o, M - </bean>
`2 _8 T4 k i- z - . ]) f1 o& l- c }% D. T
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">! U* C& ]" G# E8 P; F! e$ i
- <property name="sessionFactory" ref="sessionFactory"/>* ~5 j8 G, D1 g/ I. E/ S
- </bean>$ J, X8 }) [) V
) { R: F* L# H4 U; g% [- <bean id="transactionInterceptor"
, w" R. ^+ ^' d1 j; _ - class="org.springframework.transaction.interceptor.TransactionInterceptor">
- f3 C, K' H$ `; E7 Z - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
% k& { Y) p8 g) M3 t+ G - <property name="transactionManager" ref="transactionManager"/>
6 ^6 j4 B5 G# } }5 ^* c6 v - <property name="transactionAttributes">7 \1 e9 O9 m& K
- <!-- 下面定义事务传播属性 -->/ ~) O- N. }5 q) N, e# ^
- <props>1 \ T3 c8 L0 w
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
5 A8 Q+ \# Q6 n - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>8 o a5 u6 M! {
- <prop key="*">PROPAGATION_REQUIRED</prop>
% _& S! B8 {- {+ ~ y - </props>
! I k/ ?& \0 b9 ~. J- R L8 N - </property>
7 A {. K7 A$ k2 E - </bean>
5 Y3 P: E- U3 M5 @3 n* q - ) H1 i4 E* L; R/ J, |2 D0 _
- <!-- 定义业务逻辑处理组件 -->
# J5 q: l4 t- n1 V0 v9 ]3 J - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
4 s( n$ |1 X* `, @* m! y* F - <property name="adminDao" ref="AdminDao"/># u% h! a# V S& F- g
- <property name="studentDao" ref="StudentDao"/>
+ z, G+ q/ W& t - <property name="examTypeDao" ref="ExamTypeDao"/>. \$ x8 z( V1 A" E
- <property name="questionDao" ref="QuestionDao"/>- g+ }) m. N5 M: d) Y9 A# J. @
- </bean>, R6 s0 ~. u. h! n0 b
- 4 q% O' H; b% F0 E s% C
- <!-- 定义BeanNameAutoProxyCreator -->* u' j( J, n @ y
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">( R. Y& J3 @8 k& s% T
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->, s3 N S% |5 E
- <property name="beanNames">% G3 k! P- Q& m, e
- <!-- 下面是所有需要自动创建事务代理的Bean-->
w: q! O0 a; R/ w% f. Z1 u( m- z! l2 B - <list>
# V, p) U+ d( ?: Y4 ?, F: Q - <value>examService</value>
- k7 y- o+ K; I' P$ F( @( u - </list>! D; H% L U p& g3 j* |
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
; U" L+ w9 K8 G - </property>" W4 y" `7 _ t4 H! t* d
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
1 l b5 Y e* z/ N! W. R4 y - <property name="interceptorNames">) q! O5 S$ @* t* w& t0 F9 c
- <list>
# v0 n# Y3 y8 M5 U: T* S/ ~% I - <value>transactionInterceptor</value>
. ?1 h- k: A8 t% T) Y1 W5 D - <!-- 此处可增加其他新的Interceptor -->5 |0 O. a8 [ P; }' b# P/ P
- </list>
. q# T# s) n v' }( s - </property>
" f; @- }2 ?: ~% O0 [4 |+ O) G - </bean>
复制代码
$ P2 z' f* S5 F( Q
& b5 [+ N7 |7 ?, |0 W) z
* I1 A6 c# G9 ], M# n5 a0 Z7 _
1 L2 v- Z E' I
! K" H8 _5 U% t) N4 Q9 w0 e1 d
项目源码下载地址:
$ U" h' S, T- {6 }1 F( j- \% F0 n6 I9 d% B
( c7 D7 R) k4 f# b2 s2 F) s9 Q! T8 W& `9 d# Y+ r+ d% \7 t' z4 r0 ?
$ t9 r$ ^8 h! T+ [9 |; [, G
1 c$ e W% T( x% E+ p |
|