TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:: p, C- `" S( F) w8 T4 C
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
3 T' X' p- Q) b 考生数据管理(浏览全部考生、添加考生数据)8 E& H: C: L! a9 ?
数据表:admin examtype question student% H+ y9 O6 r: ~& p1 f e2 ^
/ l; S6 B6 r4 G6 v6 jappContext.xml数据库配置:# f. @6 c- c% p9 ]# Z- A K
- <!-- 定义数据源Bean,使用C3P0数据源实现 --> h1 W* Z* e7 H2 m4 f. m+ ]* `$ t
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
7 q `; D1 J1 U- {! B - <!-- 指定连接数据库的驱动 -->$ C: E$ a% T6 h% ?' x
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
6 g3 ]0 P1 _/ ~/ ?- X& U6 W4 g4 N - <!-- 指定连接数据库的URL -->5 Y. X0 ^$ }; w; ?
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
, Q6 k3 s3 Y' B' K: y - <!-- 指定连接数据库的用户名 -->
$ ~- K8 t9 q& z1 r; e: I& i: ]+ S - <property name="user" value="root"/>
5 o: H1 X/ r* K" _# { - <!-- 指定连接数据库的密码 -->
" d% ~4 T6 O3 }+ a- o - <property name="password" value="root"/>* F. m1 }' ^5 J% P' Z ]
- <!-- 指定连接数据库连接池的最大连接数 -->
* F; v! ^. j5 H; f+ V4 R - <property name="maxPoolSize" value="40"/>
7 ~; j* ]4 A! Z+ Y4 Z - <!-- 指定连接数据库连接池的最小连接数 -->0 ]' B, Z) K& H* L$ a
- <property name="minPoolSize" value="1"/>
6 `; }. L& D6 ^& c5 X6 h - <!-- 指定连接数据库连接池的初始化连接数 -->* Q2 f# X( d0 R6 |
- <property name="initialPoolSize" value="1"/>. v5 S: W( ]3 ]+ w [) n9 r
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->) Y) j' b" {; I( S$ ` Q0 C1 F
- <property name="maxIdleTime" value="20"/>- Y/ b; {4 Z6 X
- </bean>5 B( ?7 \ w+ E" h, ~
- 2 U' J8 U! j# z* }
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
. }0 r4 w \7 B8 t9 w7 ` - <property name="dataSource" ref="dataSource"/>
& f" @( L( R3 S - <property name="mappingResources">
- g4 K& M. i' s - <list>
* E" w2 y! d! \' b - <value>org/matrix/conf/ExamType.hbm.xml</value>
9 c- W& @( q3 U4 {, t( \4 y - <value>org/matrix/conf/Admin.hbm.xml</value>1 t* { ?1 ]/ i4 t$ K3 v9 W
- <value>org/matrix/conf/Question.hbm.xml</value>; e3 ~, {4 a6 n* X& b" n8 U' v
- <value>org/matrix/conf/Student.hbm.xml</value>
" L' ^% P3 _( ^5 J* [ i - </list>
% u5 t6 H' l# S- B8 E2 }) g+ G - </property>
$ l. i) Z1 n: l - <property name="hibernateProperties">+ S( |: |0 I; g, R" E% m
- <props>9 a/ b6 j$ B! Y" f3 S! u+ L
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>: j G8 W p; k+ l
- <prop key="show_sql">true</prop>
7 g9 [5 V! o7 a$ K- e - <prop key="hibernate.hbm2ddl.auto">update</prop>
0 J9 [ n, Q3 W* m( F - <prop key="hibernate.jdbc.batch_size">20</prop>
1 D/ A9 a( A; M n' h - </props>
, V% w# \) j3 o' L0 H - </property>
( D+ v( Z9 X1 \# T - </bean>
. N9 P9 G- d6 l0 e - / a$ o c; v8 ]
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">% ]: |* ]! {4 t) e: d
- <property name="sessionFactory" ref="sessionFactory"/>" B9 c- T1 q0 M' v7 E+ F K! t
- </bean>
/ g' ?1 c2 G/ d& ]$ B. z - 4 J( X7 _4 U$ j
- <bean id="transactionInterceptor"% ]& L& s+ E* V, l: ~$ h8 B
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
/ C# P [. c! z - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->' n- ]3 w0 [/ @& X1 r
- <property name="transactionManager" ref="transactionManager"/>
) h5 ?$ W7 j! t, l/ r2 ` - <property name="transactionAttributes">6 q3 K# a, {+ }
- <!-- 下面定义事务传播属性 -->% L% T! @0 |. d2 p0 e
- <props>
- c7 g4 |' v& m/ q3 O( s - <prop key="insert*">PROPAGATION_REQUIRED</prop>
/ c6 k# N" M) x9 M; C - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>" g: z; t; h. ~0 m* L* q
- <prop key="*">PROPAGATION_REQUIRED</prop>
0 Y" I4 G/ R+ s# x - </props>! r1 w% p( o% M
- </property>
3 `' c2 {0 i3 U - </bean>
4 B5 ^: V7 p8 l
# H' v7 q( k1 ~# v y( r* [- <!-- 定义业务逻辑处理组件 -->1 ] r0 A% ^: ]/ V2 ^+ X4 F9 U
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
* [ Y1 x4 S! z$ |. V# r - <property name="adminDao" ref="AdminDao"/>2 T! ^$ A3 s: x
- <property name="studentDao" ref="StudentDao"/>: A: \( p5 N2 c' R' M7 ~
- <property name="examTypeDao" ref="ExamTypeDao"/> k9 ]4 U/ l o! L. u
- <property name="questionDao" ref="QuestionDao"/>) q/ q+ O' [) T4 |) W
- </bean>3 {, w* Y0 v% ?" J1 d2 q
/ V) _( W% ]5 _1 m; m- <!-- 定义BeanNameAutoProxyCreator -->
( J1 N& I0 w" }, Y+ J/ d6 X - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
. d. j4 w/ Q( }: C3 L - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->' U0 k8 { a+ u5 V
- <property name="beanNames">$ Z& u3 s8 p' O3 z
- <!-- 下面是所有需要自动创建事务代理的Bean-->& @* r2 f a- R4 a+ f3 `# x
- <list>
5 z( x0 z! n$ f7 M5 Z$ Y% ^$ I - <value>examService</value>
* h/ }/ V5 P. j) k' w( s% o - </list>6 u+ `9 [, s W
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->) ~3 N, o- W' z: ^
- </property>
5 }% {4 |" @# @( n; L+ [2 c( z - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->& b# |- e* \, y0 B/ a# }6 D! _2 u
- <property name="interceptorNames">
& V; ]- L* ]" r! c% J! R h - <list>- M/ O; K6 J9 `/ i
- <value>transactionInterceptor</value>+ y& V$ j8 @9 e' S$ t* |
- <!-- 此处可增加其他新的Interceptor -->
3 P) W3 E4 s/ {" p# a# ] - </list>
8 z' ~% z+ f. W" q, h - </property>
+ ?5 L& O5 E$ }: s5 A D# g; S - </bean>
复制代码 $ r1 F2 W7 I" L
7 D0 X6 ]" Z- U6 x' U& Q
5 ^8 u7 L* N8 } N2 s8 o
# r% K% x1 \8 z
+ X7 y1 t K' I2 I! @
项目源码下载地址:
7 X4 e( M2 k$ i1 X7 P, J
( Y3 F. C+ b3 F& J4 D* {0 s" ^$ K s, m
" L# W* H% U. ~9 }5 Z8 x# e- D* q. z0 D' r
, W" [& B: v g& X. J2 U) P. f |
|