TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
/ I& y5 x7 H) W8 {模块:试题数据管理(添加考试类型、添加全部试题、添加试题)# i6 j; P1 L6 u$ m6 c# {& m, t4 ?
考生数据管理(浏览全部考生、添加考生数据)
' v5 }6 w5 W5 B& ~数据表:admin examtype question student
1 f' ~0 g$ I7 m, U& F
8 z0 a" {! I( o) x* |
appContext.xml数据库配置:
/ u4 ]8 G# y/ X; D3 o# x% n- <!-- 定义数据源Bean,使用C3P0数据源实现 -->7 q! |9 B8 \! A9 T3 b
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
: V2 z0 j/ ^- Q7 s - <!-- 指定连接数据库的驱动 -->- n* K8 z' w! h B6 _
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>1 u/ g" r0 r* u9 c
- <!-- 指定连接数据库的URL -->
# Z: G, E( n: }4 H* b - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/> O/ S- ^) Q+ O- k' C
- <!-- 指定连接数据库的用户名 -->1 v+ ^' j9 b, p3 R1 V
- <property name="user" value="root"/>$ c+ H; y0 }6 Y5 R) p& P
- <!-- 指定连接数据库的密码 -->
. j. U( N! |( R: d - <property name="password" value="root"/>6 o/ p5 [1 k! ~7 R; o
- <!-- 指定连接数据库连接池的最大连接数 -->. n9 q( F; U4 {' P
- <property name="maxPoolSize" value="40"/>. R2 H% [# q% K. \$ k
- <!-- 指定连接数据库连接池的最小连接数 -->
0 V+ Y! w4 L' ^ - <property name="minPoolSize" value="1"/>
5 [5 W2 V# ]5 B- K1 i3 o0 m4 U - <!-- 指定连接数据库连接池的初始化连接数 -->
! H1 w1 D' j( M: N4 U; z, r - <property name="initialPoolSize" value="1"/>8 r D. {% J) w5 Y) [
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
$ d0 F- Z& p( K9 n( S - <property name="maxIdleTime" value="20"/>
], w( x& C) k6 L/ q# S - </bean>
6 P6 f+ w# m4 L1 @ \0 ?( E. w - - y3 [. Y( }& b3 R) \& O( z0 t
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
0 L9 k% V% ~. Y& U - <property name="dataSource" ref="dataSource"/>1 Q* S) [$ U, [
- <property name="mappingResources">3 D3 Q; \ P/ M" O4 N& A8 s
- <list>
0 Q5 ?8 J& D/ B; ?! r4 P: g% e - <value>org/matrix/conf/ExamType.hbm.xml</value>& o- j* \* ^4 \' K* y( \2 C
- <value>org/matrix/conf/Admin.hbm.xml</value>
3 L- x1 ~6 C- d) y2 V$ @* O9 h - <value>org/matrix/conf/Question.hbm.xml</value>
N* }- X$ h" H& J+ E - <value>org/matrix/conf/Student.hbm.xml</value>
3 y; A) }1 I! Y {9 m; u - </list>) K$ y8 _2 ?! Q7 v5 A
- </property>8 r9 H- z4 p$ ^2 n- Z% ?
- <property name="hibernateProperties">
8 u- U4 C/ E6 b; s- ^! r2 N - <props>. z7 e& p2 j f
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
! x0 K! w3 ]9 _; Z" ], o5 M7 p: Y - <prop key="show_sql">true</prop>4 K% S" t) n) P) `. Y
- <prop key="hibernate.hbm2ddl.auto">update</prop> f. m$ S5 b4 C5 H" q
- <prop key="hibernate.jdbc.batch_size">20</prop> . `, q, m1 v/ Z: v- Y" g4 ?+ |$ h# b
- </props>
* \% `$ ?. C K - </property>
6 r9 x N& [- z% L" ^) V - </bean>
* x3 K$ S, t5 X% _' W8 N/ O3 U - 3 C. x/ u6 P$ C3 V6 R* [% d
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
! |+ R! P. W7 ^# W - <property name="sessionFactory" ref="sessionFactory"/>: q& ~( F* W" j- r* R
- </bean>
4 K+ t& ]0 D1 o$ S
& o3 @. |! z) A. c+ R- <bean id="transactionInterceptor") v5 `% o! v0 u5 ]' @
- class="org.springframework.transaction.interceptor.TransactionInterceptor">4 f6 j! Z( q& T8 @* C0 s* |
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->: c9 z6 x8 V# d0 c4 ]
- <property name="transactionManager" ref="transactionManager"/> _4 M& a' v7 J
- <property name="transactionAttributes">$ I2 Y1 w) Q W. E8 `. {
- <!-- 下面定义事务传播属性 -->6 ~. N8 Z ]# R0 \* i% I$ p
- <props>
/ V; V% C% N" O9 O4 A* ] - <prop key="insert*">PROPAGATION_REQUIRED</prop>, |" i5 O( v* t% I
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
; W9 E( p0 ~# L+ j q# n* E' B - <prop key="*">PROPAGATION_REQUIRED</prop>
* Z ?) ~) j9 s% r - </props>: }5 q( M; k' U7 d' n% f6 v: x! N
- </property>
" q) k; x1 n H) l0 t8 g - </bean>: j. f/ D( o9 O; H, \- t
- 2 \* \, V8 W5 D, L
- <!-- 定义业务逻辑处理组件 -->: Y! s0 t) d, S% B- ]; r
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">7 Y# {& o8 v( i5 K8 [
- <property name="adminDao" ref="AdminDao"/>4 g4 E d9 M8 b8 l5 u- `
- <property name="studentDao" ref="StudentDao"/>
' D: q+ [, o$ k3 f# G - <property name="examTypeDao" ref="ExamTypeDao"/>
. b# v% A. q$ f, G - <property name="questionDao" ref="QuestionDao"/>) u) f, I/ s8 V% M; I
- </bean>
" ~/ P2 r/ p. |# H - / [; F9 R! Z. m
- <!-- 定义BeanNameAutoProxyCreator -->8 }! ~; e5 f' C a/ L, }0 s- F0 V& v
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
- `4 Y. j1 o/ s7 w7 u9 q" m' c, i - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
3 w1 p: H, n" `( a! b) [: M - <property name="beanNames">/ l+ E: U. u3 I# P
- <!-- 下面是所有需要自动创建事务代理的Bean-->
: A1 }7 Y0 O: R! F - <list>" S- ]9 e' x, w
- <value>examService</value>
+ { C0 F+ S( o& w Q - </list>
+ ?- d: F M0 } - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
1 A1 B% ^ f/ B# j( a. B* W1 } - </property>/ J8 S! V7 z X2 S5 I; R
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
8 h! [$ r; w6 U4 b2 F4 X - <property name="interceptorNames">
$ ~9 q# ]6 o4 Y3 y6 x& N2 C4 j - <list>! A7 _6 Y# n) i
- <value>transactionInterceptor</value>
( N3 O; g4 g0 z8 x4 n! X% _, c - <!-- 此处可增加其他新的Interceptor -->
/ y. z+ t3 e" n: p( p T - </list>) g3 u: _6 S4 F! t& U$ |; ]
- </property>0 o! |* `: ~4 R h
- </bean>
复制代码
6 O c+ F! x# P# v! [
, j3 `- ?# b( m+ t- y3 ~
9 J" f9 P( }. X' p6 D; o: d: U7 \# T
: _8 a% {& T* L# V
7 ^+ g0 J: k2 o项目源码下载地址:
5 {# a( J5 {. O" t9 |
# v5 t, N- U" l& A6 m6 Y m \4 K' k, h% E$ }: e6 W9 K
1 G0 u) N/ y' B$ l% Z: l: Q6 F1 U* N: Z1 s
, h: N9 K" J+ b2 D |
|