TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:- ^& G1 v2 o0 ~$ U" m5 U
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
( y, P5 g; A+ [6 T+ U: j3 K 考生数据管理(浏览全部考生、添加考生数据)- v! Z" ]$ Z' P- K
数据表:admin examtype question student. d: e4 q9 K! b1 N' T0 S
. w" C9 q& `6 Y0 VappContext.xml数据库配置:' Q! b4 U3 O( s7 O
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->: f' Y: c1 ~, [
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">, {4 j0 i! H2 t: G+ r* ]1 Q) a' ^7 g
- <!-- 指定连接数据库的驱动 -->0 G0 p+ v Q1 i1 ^/ M
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>8 h% s! \: |/ N" R$ l
- <!-- 指定连接数据库的URL -->
9 ~* K) L2 u; Q8 C) F - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
. B2 A2 B3 z/ T7 U, q# q - <!-- 指定连接数据库的用户名 -->
( |% ? U1 R4 ?" i- ~ - <property name="user" value="root"/>% u, [9 ] H" S0 p4 U% r
- <!-- 指定连接数据库的密码 -->
/ B$ A6 S3 Z& h, \3 l - <property name="password" value="root"/>( M$ C3 F& y/ U) Z. x) a
- <!-- 指定连接数据库连接池的最大连接数 -->
3 y4 |# _' Y# u* h% k( V - <property name="maxPoolSize" value="40"/>
4 z$ j7 ~' a* K" N- P# f - <!-- 指定连接数据库连接池的最小连接数 -->
/ x3 c0 f( c. ?; l( i" d% g. @ - <property name="minPoolSize" value="1"/> S& z$ F0 V4 V/ R1 O( {8 e( C
- <!-- 指定连接数据库连接池的初始化连接数 -->3 E' t# F5 J- M$ L' e
- <property name="initialPoolSize" value="1"/>/ K% @" U- T; s" A
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->* v$ k0 @$ @" f" J& S" j- y: V
- <property name="maxIdleTime" value="20"/>1 S! {' ?" p! \: h( h5 H' w* ^
- </bean>
0 K- b- E) g+ b' q% k+ d - $ d" A( s7 {" v, s8 ~# m
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">' j7 a+ q; ~8 E9 K; v4 }
- <property name="dataSource" ref="dataSource"/>+ m. y# m* ?. I# K( D/ F
- <property name="mappingResources">' U( i+ K9 q- K' s! h
- <list>$ k4 S* E! ?" i: i4 o5 f9 K
- <value>org/matrix/conf/ExamType.hbm.xml</value>9 |% ?4 w* I1 @0 Q2 o
- <value>org/matrix/conf/Admin.hbm.xml</value>
; a1 _- O: A9 _. o6 j. T - <value>org/matrix/conf/Question.hbm.xml</value>7 O- \" D5 E% f5 M
- <value>org/matrix/conf/Student.hbm.xml</value>6 N, ^$ r% A+ g
- </list>
6 r5 W* X \+ A8 W; i- s% O6 s" u - </property>* k, s9 x* ?" `2 O( a5 o! a
- <property name="hibernateProperties">
& B: f7 p" c, V& J3 Z2 l - <props>
n1 k- ?3 g, v; h; a3 m/ C/ N( f - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
& N: j6 f' \7 k% X: p' c - <prop key="show_sql">true</prop>
: p/ H% Q6 \3 n$ b% ]! `/ Q - <prop key="hibernate.hbm2ddl.auto">update</prop>! h' N* k* |8 d! P
- <prop key="hibernate.jdbc.batch_size">20</prop> : E8 k2 v6 X) k' n
- </props>
. {0 B, k2 L4 S: H* n - </property>8 _) ~+ D) F. n+ ?0 t
- </bean>
, |6 ^* _6 V# v3 y
S1 c) H; ]2 G8 V( }- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
( U- C; z& ?7 d+ I+ d( m5 R - <property name="sessionFactory" ref="sessionFactory"/>
) @' g _! Z: h8 b - </bean>
6 v' y) I# q% D4 U) v; w - , u2 r% {, i% E, @7 v. A3 H
- <bean id="transactionInterceptor"* S6 t; ]# Q7 q% @6 M" u
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
" Q% r* C: k' T! w - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->+ w5 C9 _+ w& y2 O {/ o& x
- <property name="transactionManager" ref="transactionManager"/>
1 J( A0 B" Y+ b- f# h - <property name="transactionAttributes"> U0 c9 F4 r) W' q$ J' O2 s! F& [
- <!-- 下面定义事务传播属性 -->+ T( O6 M3 d0 ~& u" s
- <props>
& v' k `9 Y3 E, i7 M1 f5 G - <prop key="insert*">PROPAGATION_REQUIRED</prop>% a- n. o) h7 R8 _
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>; m' ^) ]9 N. Y+ P$ S# o6 f
- <prop key="*">PROPAGATION_REQUIRED</prop>
. j% X3 D+ M; P b3 t. \, E - </props>
( v/ [$ R1 H0 L9 \: ?! s - </property>
' K. b$ n1 L* [; P, B - </bean>& Z' W; q" D% s0 b1 f. s. C9 V; V; R. O
$ M: U8 a. ?% X- <!-- 定义业务逻辑处理组件 -->
$ y) a. m; I* t2 L - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">5 {/ a* m4 M: c3 n! H# j
- <property name="adminDao" ref="AdminDao"/>& b: k) k+ D5 @5 T0 l% S
- <property name="studentDao" ref="StudentDao"/>: w: v7 l [8 d" u! \" p8 Y( e b& v7 W
- <property name="examTypeDao" ref="ExamTypeDao"/>
0 h/ y% f7 t' K2 S9 O4 H' u/ {! ?( o - <property name="questionDao" ref="QuestionDao"/>
" i1 k* S* f4 G8 e. D - </bean>
^; ~8 v" i/ z* @
; r$ t; g9 o4 ]- <!-- 定义BeanNameAutoProxyCreator -->7 p- ?9 a! W0 C) k6 w) `( N
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
# d; l4 K) l' I1 \& z% b E% | - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->8 x& d a5 S; c, `8 U# D% U
- <property name="beanNames">
8 ?. K% @& g9 z+ Z - <!-- 下面是所有需要自动创建事务代理的Bean-->" `$ d, Y G/ j6 z
- <list>, f4 d( c# k$ W
- <value>examService</value> |5 u0 W4 l6 n/ Y: y( P9 r
- </list>
9 H4 ~$ k3 @" @# ]) X - <!-- 此处可增加其他需要自动创建事务代理的Bean-->- f& Q, C: `9 W* F0 G# B3 s; ~
- </property>6 N% Y/ \; {' @% H% ^- W5 z
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->8 u, {$ b/ L U8 V+ S0 L+ d
- <property name="interceptorNames">! F4 }. U2 w% x% |$ y
- <list>% h' q8 V7 `4 E( S
- <value>transactionInterceptor</value>" |& H' s) \1 J; i- P
- <!-- 此处可增加其他新的Interceptor -->
! ^! V7 i+ H- \4 N. p2 Y6 q6 y - </list>
: _; A7 M( w' H0 a) [/ L k7 T - </property>, e* P, t! w8 P3 V* s' C8 g) D
- </bean>
复制代码
0 ^+ f7 k0 j+ o% z; j" X* ~0 h4 o" _' D
' \# @7 f& p {; d
: j6 v" k4 r& D0 g
8 |6 g$ T9 b w" M
6 P& ~1 ^' y3 u6 `" U项目源码下载地址:
% B) x- D5 M8 J. {9 u5 O9 Z: [. U+ F9 T7 z" O
2 F. T& Y* \7 R6 i/ W
) Q. Y* e" ?9 t# E' u3 ?
: N9 J! \- K* O c1 a$ V
% O S2 X/ f: U6 J+ f- G! p |
|