TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:- r( k; E; `" `1 G1 Y! A
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)0 W/ \# Q" c) F' Y1 J3 D9 ~, @: q
考生数据管理(浏览全部考生、添加考生数据)6 b7 |) j* f0 z6 K$ A Y8 n
数据表:admin examtype question student
B" y6 |+ l4 n3 |# X/ }
; K; _6 [, T6 i5 w5 BappContext.xml数据库配置:
! K0 G3 V' ~/ u" `- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
; U9 |# u R, `1 v( x4 x' a - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">0 H' j: U, j+ L
- <!-- 指定连接数据库的驱动 -->
; V6 Q+ ~7 [& L9 o - <property name="driverClass" value="com.mysql.jdbc.Driver"/>4 [: \7 ~" e6 H8 u9 g. w6 ^8 k6 j2 |
- <!-- 指定连接数据库的URL -->
# N3 a" ?6 R% g- w - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>4 H* ^ C/ g+ C" f7 S, k6 O3 u* M y" j
- <!-- 指定连接数据库的用户名 -->1 ?2 \) @) L: l$ T% Y. R" F
- <property name="user" value="root"/># h) c* g& j- ?2 h; \- z0 S
- <!-- 指定连接数据库的密码 -->% U. k5 W- V( Q2 A
- <property name="password" value="root"/>
5 D1 M) |/ K* K! F& [2 j4 q( ~( y - <!-- 指定连接数据库连接池的最大连接数 -->. Y; T6 ?7 g* d1 H+ l ~& @2 v( i2 k
- <property name="maxPoolSize" value="40"/>
! k/ f5 ]3 @ W6 A$ t$ b - <!-- 指定连接数据库连接池的最小连接数 -->
' D9 s; e" d# T4 n3 P5 o - <property name="minPoolSize" value="1"/>
$ Z `% x- K1 c: { - <!-- 指定连接数据库连接池的初始化连接数 -->
& Z! P, [. S, ]! l# l - <property name="initialPoolSize" value="1"/>
8 K' B! B& G) x% r H - <!-- 指定连接数据库连接池的连接的最大空闲时间 --># w9 `& J3 `/ [$ b
- <property name="maxIdleTime" value="20"/>
{4 s/ D3 S2 E: @+ b9 j, ^ - </bean>
( O* p7 a' G1 m; [
, l! M% l9 o1 u7 ?7 z- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">( @" G1 O" Y5 Q& I4 |
- <property name="dataSource" ref="dataSource"/>
% q$ L. ~, H" h/ B" i - <property name="mappingResources">: V/ r% N) U9 _
- <list>
' A p# M6 d6 V8 ~3 j H, R - <value>org/matrix/conf/ExamType.hbm.xml</value>( d$ z3 N; ] ^. Q
- <value>org/matrix/conf/Admin.hbm.xml</value>
) H$ D/ u3 `7 ]( f+ e9 I - <value>org/matrix/conf/Question.hbm.xml</value>5 Y& t% b* n: D6 I- \" {7 m7 q( C/ n& ?
- <value>org/matrix/conf/Student.hbm.xml</value>
) L K7 x% C$ e& G - </list>
2 ^0 m" b9 B/ d; m - </property>
3 ^2 U/ a6 J% t ^ - <property name="hibernateProperties">3 l* @0 s8 B" ]( r& r
- <props>+ k; J/ [6 X5 q5 f- E
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
! V7 b+ O5 X: D1 e h2 d - <prop key="show_sql">true</prop>$ p5 ^: E1 [* j9 B( ?+ C8 h" d( j; b
- <prop key="hibernate.hbm2ddl.auto">update</prop>
% C/ v% F7 h: [) | - <prop key="hibernate.jdbc.batch_size">20</prop>
! Y- S6 F/ P) x1 ] - </props>
1 s0 d! C8 B- G, f" ~3 b$ c2 j5 R- {- } - </property>8 X$ Z$ {) V; I0 k* w% a
- </bean>
. A$ ~& b, a. o/ K - 4 j. G [/ x$ p1 I
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
7 Z9 \) o4 j; r z' N - <property name="sessionFactory" ref="sessionFactory"/>4 T) l7 E' H b4 K/ z, D
- </bean>
8 X0 m! M8 G0 e; M) d# w) v - . ^, ^- y( U3 _) j* a8 [$ q
- <bean id="transactionInterceptor"0 c7 c* ?) {( r
- class="org.springframework.transaction.interceptor.TransactionInterceptor">, L5 `1 }+ b E
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
T, @) l( [' W- \ - <property name="transactionManager" ref="transactionManager"/>- f: z# K+ a4 O! A8 R8 z
- <property name="transactionAttributes">9 c# h0 c. u) j' H9 x1 t) _& l
- <!-- 下面定义事务传播属性 -->7 [+ G; d2 h3 ?+ J
- <props>3 J2 z( t, G8 z4 n$ Q. D
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
- s3 G$ ]$ ^; v8 X) B" `# d: j- g - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>* I G" _. M! A8 b4 g9 |
- <prop key="*">PROPAGATION_REQUIRED</prop>
" {8 U0 y& H. i6 d - </props>
6 U' }4 w3 q$ d+ b) G5 Y* R - </property> p4 ~) b4 q+ C7 F8 T) P
- </bean>, G4 N0 l) ^2 U B5 q
- # F$ u w' n1 A- ?
- <!-- 定义业务逻辑处理组件 -->6 Y. x7 V' }. i
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
! r' Q' O7 r& c ?9 h3 i+ W - <property name="adminDao" ref="AdminDao"/>& t, j+ X9 ~1 a3 n# E- e
- <property name="studentDao" ref="StudentDao"/>
, r% k3 l5 ], k/ ^( D - <property name="examTypeDao" ref="ExamTypeDao"/>/ e+ Z3 `" {7 D5 {- `
- <property name="questionDao" ref="QuestionDao"/>
7 \4 \& l9 q, E' B - </bean>
. v4 v/ W5 Q$ w5 y& _, x* p* w
# z; J4 u+ C$ W/ g4 u- <!-- 定义BeanNameAutoProxyCreator -->
' r5 {) y* ~# z$ k- k$ }& d: v/ s - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">0 }8 p g# s$ l7 D* y' u0 X' ~
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->9 r# t1 ?6 S- R- @8 z5 f9 O. [
- <property name="beanNames">" U! }( g9 r. r- U7 ~
- <!-- 下面是所有需要自动创建事务代理的Bean-->
9 ~; s+ ?1 r2 ~$ X5 z1 ?$ T! L! \+ I - <list>8 k$ b% h' i) d, {9 h/ b3 M$ H
- <value>examService</value>
* r( Z7 S! }& M7 m - </list>. i2 b; Q% T7 Q4 G) V
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
6 n" e+ s: a, {3 ?+ f - </property>
2 K$ _$ c# G N" B5 I: e. t - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->* T3 c4 e' s3 C1 F/ }& }% x% h) o7 G
- <property name="interceptorNames">- l' K9 P; j+ P8 u1 }
- <list>
; U, ?+ G: `# P. u _: V: n - <value>transactionInterceptor</value>, c& g* h4 M3 Q' j. S, h
- <!-- 此处可增加其他新的Interceptor -->
) z: K1 i5 `& q0 [9 z& p7 F1 f - </list>/ D+ H; `4 r6 l- t* W
- </property>
# t+ `+ g# R) C# z1 I - </bean>
复制代码
. m: M+ Y- d0 _* u1 C: w
5 v G4 `2 A7 u! k1 w; a2 Z6 H9 M' y
, e5 A* ]1 C, `; e
5 I7 j/ ^3 D6 p4 L% f
* a0 g( B& a& k3 l, I+ R! d9 J
项目源码下载地址: h) P2 B& F, g' V" N4 _$ g
, ^; X7 \- t" V7 m6 M# o" C
- o3 V, E2 Y, `; n' m6 O3 U$ _/ y2 T( U) ?% v: t2 @# B/ ~. w
4 X! A* q; ]2 j9 j" ]/ k7 I
X, q t& b) S% Y; T
|
|