TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:0 A) U: l) v; @
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
2 @% g( a: A T7 I! g$ H; A 考生数据管理(浏览全部考生、添加考生数据)
/ m( i$ j9 \/ L: R数据表:admin examtype question student
* F' d4 }$ d7 j6 R: `
+ c3 l# R; L" m) G s3 U; J( A4 X ZappContext.xml数据库配置:
% m; P1 n& d: ?/ i0 \- s/ b( E- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
8 e" I: x/ V+ h) n% z9 @9 Y* a' I$ f - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">. k" }9 J0 g" X3 v1 h
- <!-- 指定连接数据库的驱动 -->6 B: q( M* }0 x
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
' H) C# m* F. J- G* a' r- M - <!-- 指定连接数据库的URL -->
4 b1 Y- l Z( ]0 d g - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>1 d. D# E4 i! q& r* u9 v
- <!-- 指定连接数据库的用户名 -->! m/ g& _' _- D, B1 a
- <property name="user" value="root"/>( ~8 y* z$ @$ l% K3 F
- <!-- 指定连接数据库的密码 -->
% s( I0 R/ p7 L5 I' k3 I - <property name="password" value="root"/>
+ F6 |' w* z7 j, t6 g: x a2 T - <!-- 指定连接数据库连接池的最大连接数 -->
6 e0 b7 I2 [4 R& m4 A* Q% Y" l - <property name="maxPoolSize" value="40"/>( M! O+ a7 R* l5 W
- <!-- 指定连接数据库连接池的最小连接数 --> _! ]% z- r5 N( ]
- <property name="minPoolSize" value="1"/>
4 P* L% `( i& z: z - <!-- 指定连接数据库连接池的初始化连接数 -->! G0 [7 K" b4 q; B# b% C- N
- <property name="initialPoolSize" value="1"/>$ ?: H; N4 c$ h& n
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->3 {, _3 i" M& s$ [! E( j' c5 c6 N
- <property name="maxIdleTime" value="20"/>
# i7 v t+ n6 W U - </bean>
' f0 A! T) h* H& Y: @# b. G
, P& l( t3 n" n! U4 F8 o- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">9 H8 F# Q- m1 j4 s
- <property name="dataSource" ref="dataSource"/>" U4 P- w2 h$ k% O9 H7 s
- <property name="mappingResources">/ }' c4 C% _+ t* Y
- <list>
2 T4 E2 E8 y' E - <value>org/matrix/conf/ExamType.hbm.xml</value>
" M+ v5 c5 S e& W3 W - <value>org/matrix/conf/Admin.hbm.xml</value>) Q: g( ?$ O7 W# @
- <value>org/matrix/conf/Question.hbm.xml</value>
3 Z% X# a% _/ s3 \( t' m( y - <value>org/matrix/conf/Student.hbm.xml</value>/ Y5 u5 {8 m* ~) }% {6 o% [0 f
- </list>
9 z" J% Y8 U: E( ` - </property>7 H$ z4 [; n4 p0 z6 c
- <property name="hibernateProperties">
- O: d# r- U+ w1 a% T" [1 ^ - <props>0 |' q; O+ \- q& z5 y2 Z# p
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
4 n4 W# U: b3 n4 C* x% o5 ^ - <prop key="show_sql">true</prop>
! N4 s' e' L. F8 ] O) j: t5 q - <prop key="hibernate.hbm2ddl.auto">update</prop>
7 P$ J/ F+ `& L# Z% J! u& ^ - <prop key="hibernate.jdbc.batch_size">20</prop> . ^ a4 L; P3 p
- </props>3 r, A6 K0 Y% N3 G/ o- D. T
- </property>
. Z+ k2 z9 L# [* B( ]' F* K, \ - </bean>
( Z7 f/ m7 t d9 |3 I% r - # I: j3 Y8 k6 L1 d
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
" c" F, E8 R; ^" r" j6 V8 m7 a# z - <property name="sessionFactory" ref="sessionFactory"/>
6 b' r, J! A+ V7 U) M$ a6 k - </bean>
) u# _# B0 v$ H: r
3 {+ m: _, F8 K5 h. d; t4 Q- <bean id="transactionInterceptor". i H# k1 x# d3 B I
- class="org.springframework.transaction.interceptor.TransactionInterceptor">: e6 @ E6 {1 @ f' t
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->; h. ]4 u N; Q. p- s8 Z
- <property name="transactionManager" ref="transactionManager"/>3 K, C) K9 l5 c
- <property name="transactionAttributes">! Y4 \5 P# A" G: ?) }# V
- <!-- 下面定义事务传播属性 -->
" w0 _: q- ?( H* N; l Y1 I) Z1 ], o - <props>
, ~9 K& q9 C( f+ m+ x" S - <prop key="insert*">PROPAGATION_REQUIRED</prop>- \# x9 n3 u* a6 u/ M
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
9 P$ g8 R! m3 ?; M* ] - <prop key="*">PROPAGATION_REQUIRED</prop>2 G: O( }" f {/ ~2 y: H6 p. g
- </props> \$ ?$ H8 Y+ n/ L
- </property>
8 O* l7 J5 n8 m/ n# A - </bean>
4 q$ N6 O6 Z0 ?- d+ k/ E$ E M6 @
8 H- \6 g# ]4 X7 j: a- <!-- 定义业务逻辑处理组件 -->4 e5 ~3 i0 y1 X8 J5 r) K
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
2 s; b" \, W' I5 B/ G+ C0 U - <property name="adminDao" ref="AdminDao"/>
! A1 w, A; G! F8 [ - <property name="studentDao" ref="StudentDao"/>* v* G5 X2 |; I. n# ~
- <property name="examTypeDao" ref="ExamTypeDao"/>
- o5 L( I0 R1 Y g! z - <property name="questionDao" ref="QuestionDao"/>
. d) i) b9 j! l( c' Q; l - </bean>
3 V5 s# ~9 a/ S* M% N( V2 { - 8 ?$ a4 ~' T5 F2 x
- <!-- 定义BeanNameAutoProxyCreator -->
5 ^3 j# c4 n* ^ - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
8 g4 n% }& \3 l/ m- a - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
! _+ a$ X( w7 n8 t0 g" l - <property name="beanNames"># c% Z) {' Q0 ~. {! I
- <!-- 下面是所有需要自动创建事务代理的Bean-->
- G2 K1 |/ T$ F - <list>
6 p( b" b" s) ^2 S. j% e - <value>examService</value>
4 a( u9 m( K/ j$ u$ O2 }# C - </list>2 A+ e. }+ V0 {- j0 c
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
2 \& c5 X) |6 @; ^1 { - </property>8 |+ m0 G* J. W$ ]% i2 K5 u. y
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
. f, @1 Y" w" x0 V$ y - <property name="interceptorNames">' U/ w4 W( `6 t; z3 I7 C3 H
- <list>
, p8 i7 z" k9 x! w - <value>transactionInterceptor</value>- w _ `! ` H+ [" }; n
- <!-- 此处可增加其他新的Interceptor -->2 p& u9 h1 O0 B
- </list>
+ s u; J$ o @/ p! h' `# q - </property>; U9 c( B; {3 v* J, R
- </bean>
复制代码
( V H9 n2 M7 t1 t/ h9 f$ h
7 E& Y1 \' R! a1 y4 i
0 Q) Y+ u, z6 q. ?
O. j- `! B; t# q# M. U5 J1 V* l' I* g) w3 c/ ?% B
项目源码下载地址:
! t' N* _% a+ H2 t$ o
! T( t2 x' H' D! M, g6 p# v, d1 C4 N$ c4 ^
& Y1 X! e; `% J7 F9 S
) B3 n4 E& ]6 w+ X" u! ?( G4 y% W/ A3 H, J) `) t
|
|