TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:! J% `, M* H* |8 m+ l: O" K
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
& S: I2 q1 D: J9 G! Q0 m 考生数据管理(浏览全部考生、添加考生数据)
7 m5 u! T, T3 J% x5 I* U数据表:admin examtype question student9 x# v9 w* w' ^- {
' G1 t+ x% n+ F1 p7 w
appContext.xml数据库配置:) Q" {' J \8 T+ U. L$ _. A' D" e
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->: R8 @7 ]0 d* x. Z' e) k/ J. x o
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">1 n" M/ b! w2 M& n/ J) g
- <!-- 指定连接数据库的驱动 -->! S9 ]( Y5 I& o d9 k
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
" `, ~! w1 V2 v5 N7 M: d. b7 L - <!-- 指定连接数据库的URL -->
6 x/ Y. w/ Z+ f - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>" J7 ~2 M* l; g( U4 {
- <!-- 指定连接数据库的用户名 -->
( a4 W) h" |% N" g - <property name="user" value="root"/>
3 d0 R0 h; f' K - <!-- 指定连接数据库的密码 -->
+ a! t0 }- c. L - <property name="password" value="root"/>) ?' i+ Z5 [- K" A! E8 G! l
- <!-- 指定连接数据库连接池的最大连接数 -->
- g( l! c. S/ A - <property name="maxPoolSize" value="40"/>' R7 i( M: ?( E- K
- <!-- 指定连接数据库连接池的最小连接数 -->
+ c% R8 |; Z: [+ ] - <property name="minPoolSize" value="1"/>
. l i# z" c9 a - <!-- 指定连接数据库连接池的初始化连接数 -->
' R% T* b! |4 E8 @5 | - <property name="initialPoolSize" value="1"/>
: T2 R8 Q* g9 g- M- R - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->% l& q) }, ^& q
- <property name="maxIdleTime" value="20"/>
7 _( @% V. b. Q# E - </bean>
) w+ B' i+ S2 }( s* g0 e
% @9 ~; u1 C+ m- [1 f; j1 `- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
/ ^4 m. i% M5 ]: ^' H* a5 U - <property name="dataSource" ref="dataSource"/>0 R3 K& Q; n$ Y; E/ @0 Y" G
- <property name="mappingResources">
+ J2 _3 U7 N1 W+ Q* K& W - <list>; t: _( a) P- J4 f4 C4 ?% }4 p: s" x
- <value>org/matrix/conf/ExamType.hbm.xml</value>
) e* Y6 V& L H( @( h - <value>org/matrix/conf/Admin.hbm.xml</value>+ U$ i' C* z8 }$ p( p. y. ~
- <value>org/matrix/conf/Question.hbm.xml</value>
" L& S3 g f7 E9 m - <value>org/matrix/conf/Student.hbm.xml</value>
$ V" u0 |% d) v: ?9 x$ v( P$ V - </list>
, ], G+ P) ]2 U# o2 J - </property>
o4 c0 @$ z- {2 Z% a - <property name="hibernateProperties">
/ W& G" s7 T) [' u: k1 k3 I: n - <props>+ a. `/ e1 a1 P1 ?+ t& X
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
2 g5 _/ a% P4 g2 ?) Z' I/ i - <prop key="show_sql">true</prop>
+ ~ \- M, @& g - <prop key="hibernate.hbm2ddl.auto">update</prop>5 s& B& K- s* c- `
- <prop key="hibernate.jdbc.batch_size">20</prop>
& r) H( F% r5 R4 B2 `6 ?* q - </props>8 H: U/ d3 ~8 i; x: e4 c( k
- </property>
, _+ }2 P! ^2 c& Y" F) m7 y j - </bean>
/ P0 A) g) m' G1 R - " X4 L7 |$ q. H, s
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">! F* q4 |; Y% r# |
- <property name="sessionFactory" ref="sessionFactory"/>9 g' ]/ ^" G+ ?+ V, f% J5 |
- </bean>: a5 l4 `+ Q+ e$ p2 N; v' E. p2 i& n/ ~
1 _/ X) t! V. |$ S1 _; y0 | ^$ t- <bean id="transactionInterceptor"" t/ p- L) Q2 |7 j
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
' G2 Y9 I9 v9 \& Z - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->* j3 Q2 q9 K3 ?& g+ m# P' U
- <property name="transactionManager" ref="transactionManager"/>
8 p2 b l. y0 `2 B, Y3 @ l - <property name="transactionAttributes">
' T+ y4 k* z8 a& G$ I - <!-- 下面定义事务传播属性 -->. Z, a" _2 h: `& E4 Y
- <props>
( f3 C& A8 g& }! k2 K2 ~. v" ]$ h2 {. S - <prop key="insert*">PROPAGATION_REQUIRED</prop>7 S4 @) c% I8 y$ C( P/ v
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>/ Q* K1 h0 i0 E, `
- <prop key="*">PROPAGATION_REQUIRED</prop>
! p1 B) C! Q, H$ r D' a+ ` - </props>
a) n+ v1 L* \& v6 { - </property>
" T8 @7 F6 _8 K& T C# U/ H - </bean>
. `& Q: g+ {3 z' W7 a$ v7 } - 2 u6 n' _1 {9 h( c: x# G4 n
- <!-- 定义业务逻辑处理组件 -->
L- q9 U: [% E2 ]& s1 Q4 L# ^3 S - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">- U- j, f5 f" ?7 Z u
- <property name="adminDao" ref="AdminDao"/>, g5 ]/ ?, v5 w0 O5 I3 G4 g! c
- <property name="studentDao" ref="StudentDao"/>% A* t8 r. f& r4 K: ~
- <property name="examTypeDao" ref="ExamTypeDao"/>
7 V7 T; D2 M4 D; O% J - <property name="questionDao" ref="QuestionDao"/>
7 K- B1 N" f0 ^/ ~+ y9 T - </bean>1 ]/ R- w! G& n' R% v
" |& v% C$ g+ O- <!-- 定义BeanNameAutoProxyCreator -->
# {1 o U' B1 l& ^ - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">/ W1 v1 b# U- ~# t, ]
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
6 Y8 }3 D( W& n* v6 n5 L - <property name="beanNames">
2 _5 H0 L" L4 E9 C - <!-- 下面是所有需要自动创建事务代理的Bean-->1 E8 o8 Y& N; U1 [7 u
- <list>, L; Q" C; E! L" t. R
- <value>examService</value>$ S! [/ l1 ] x1 @& \6 Q, N7 U6 _
- </list>
4 z4 W! v I$ I/ f2 H8 m0 z7 }% b$ B - <!-- 此处可增加其他需要自动创建事务代理的Bean-->9 o5 R. ^4 a4 ~; ^2 M7 {6 B" L3 }5 {
- </property>. o/ z: C5 }5 H$ `& p9 z0 V
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
9 B/ J& x( c- n* s/ ^- W- H7 |( P - <property name="interceptorNames">
. Y4 m& f& i) Y) Z" m- K- w - <list>
/ B/ `. d# f f2 q - <value>transactionInterceptor</value>) c6 |. c. k! y: h, L
- <!-- 此处可增加其他新的Interceptor -->
, K# e/ e* Z# d) C4 w - </list>& Q1 [1 U, D! W# `
- </property>1 q0 G ^" o* e) J* f
- </bean>
复制代码 2 m& L2 c9 O( a& V8 f2 f" r+ j
& I0 d" X2 e. O8 `
1 k9 i1 c* ]! a9 \/ y
( a f6 D# k" \ i, S
# h- d1 r: U, }# X: U4 u, h; e! y# p# X项目源码下载地址:0 u0 K D" C- ]; p9 l, [
2 F, q0 h9 Z1 `% C6 s# O J0 C7 c( |. Y. E9 f
1 v9 I/ y6 j: {' N3 O6 R# g) q% ^6 C' n9 c6 F$ b, Q: g) {* v
1 w8 V- [4 b& }: q: y( U1 K/ A2 O [ |
|