TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:) n9 K& d& P" A6 T+ [& b- G- y& T
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
, o$ o% A$ g5 h0 V/ r( n3 ^ 考生数据管理(浏览全部考生、添加考生数据)
5 M0 B8 P: g1 `& d8 k数据表:admin examtype question student
' u4 N/ q2 i0 U& S: e# T6 ]
9 d! h9 D+ L) D( d1 [appContext.xml数据库配置:
: f: f! S$ i1 x5 l; ~$ Z$ h ~3 V# }& g/ @- <!-- 定义数据源Bean,使用C3P0数据源实现 -->* F/ `7 F- i# |
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
) V+ D/ {* f, A2 o' f0 M N - <!-- 指定连接数据库的驱动 -->- m% z% ~. [- ?+ f
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
$ x2 B: O' |! o( E - <!-- 指定连接数据库的URL -->% \2 O& f/ K! c7 M5 W
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>' W3 M, e' @8 X) ?7 o. O
- <!-- 指定连接数据库的用户名 -->
* `/ t/ A8 Z% r) G( e3 ^$ ]$ c+ [4 l - <property name="user" value="root"/>
9 |& C. y1 n' W9 x% w+ i - <!-- 指定连接数据库的密码 -->, B4 k F' I: a1 W
- <property name="password" value="root"/># a3 ~ d4 B0 L1 `) t
- <!-- 指定连接数据库连接池的最大连接数 -->% q( N* b( d, C2 H
- <property name="maxPoolSize" value="40"/>
3 u- @1 p* I1 Z+ ^" [; Z - <!-- 指定连接数据库连接池的最小连接数 -->" M) t3 a4 P9 V
- <property name="minPoolSize" value="1"/>
. z: K" w6 |# s0 A - <!-- 指定连接数据库连接池的初始化连接数 --># ]. u5 w2 P; J* O; C. L# t
- <property name="initialPoolSize" value="1"/>$ l- J) U4 [" W, W
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
2 q: d T9 V7 P1 [ - <property name="maxIdleTime" value="20"/>
& k( i: l9 }& H. V# ? - </bean>1 ^( _ S! b& w; |1 c
- 6 p) G5 b) q9 q) Y! F. T
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">' r0 y) k0 x- h" Q1 d
- <property name="dataSource" ref="dataSource"/>
% X, B: U1 K8 v4 j" ` - <property name="mappingResources">
6 C9 ~# P9 b% r* J - <list>8 f$ @8 h W+ O9 U3 B. T! t* B
- <value>org/matrix/conf/ExamType.hbm.xml</value>
: X) a! x( q$ o5 H5 h) \ - <value>org/matrix/conf/Admin.hbm.xml</value>1 d& }4 B/ w- c7 s% V/ h- C
- <value>org/matrix/conf/Question.hbm.xml</value>
r- _0 E- U% @) [/ a - <value>org/matrix/conf/Student.hbm.xml</value>
% b+ R' k/ ~( a8 i6 D; ? - </list>, l/ K0 y8 Q/ U; X- Y2 {
- </property>5 A! \6 f) A' x0 A
- <property name="hibernateProperties">! W. {. J0 y n/ {
- <props>) w, ? A/ n+ j& H$ Q
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
; P: U, ]: \4 e% b8 q+ [ - <prop key="show_sql">true</prop>" O* q8 D! ^0 H k/ s8 g
- <prop key="hibernate.hbm2ddl.auto">update</prop>0 d9 H, P' L- W8 i: E4 Y8 K# O* z
- <prop key="hibernate.jdbc.batch_size">20</prop> G! O: U. T, R% N$ }% T- \/ w
- </props>+ t- K+ t' r9 M0 u/ n5 H
- </property>" u! J& w$ s4 I) ]5 k" M! X
- </bean>, N$ u0 r, j) |8 l9 f7 s
. P3 q' u; o. p; n* Q, _# w" N- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">/ k' @) X1 m5 N( v$ H; f
- <property name="sessionFactory" ref="sessionFactory"/>
! }# o% D/ u7 Y7 D( J7 d0 e8 j) c - </bean>/ ~+ P* N4 v( J* O5 t! a F/ h
, b$ j* U: L z- <bean id="transactionInterceptor"
* h0 N4 }; z1 D: R2 O - class="org.springframework.transaction.interceptor.TransactionInterceptor">
6 a+ D( C1 `% I5 _3 ]1 e+ a - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->* |4 \' g0 _' E) w+ |% _
- <property name="transactionManager" ref="transactionManager"/>
6 l8 o! Z0 i- F1 F1 E - <property name="transactionAttributes"> {; Q6 o# d, ~% R
- <!-- 下面定义事务传播属性 -->3 u* q" v. \7 I( [
- <props>* O( B5 M6 P; r3 M7 e$ C l+ G% l& @
- <prop key="insert*">PROPAGATION_REQUIRED</prop>& @0 s- j8 ]6 l" y' ~$ Q6 p
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>5 Y4 o) m8 V; L8 b6 O
- <prop key="*">PROPAGATION_REQUIRED</prop>5 n4 W" ^3 C6 _( C6 d q" k+ g+ ~) O
- </props>1 {- I( m" z( p! P, v
- </property>
* n( X! F2 ?; _* {7 b- ]$ q - </bean>( U+ [' M. F% o
# y8 ?8 J: f& f1 z* `1 L# S, _4 a- <!-- 定义业务逻辑处理组件 -->' E( |" ?0 x' K! @( m& [
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl"># w' n. x6 G3 ^/ I
- <property name="adminDao" ref="AdminDao"/>, {* ^. B) y, t: A
- <property name="studentDao" ref="StudentDao"/>) n. l# n; ]4 m5 l r, h* u; q
- <property name="examTypeDao" ref="ExamTypeDao"/>
' l6 H; S" |& n# k. i# K - <property name="questionDao" ref="QuestionDao"/>
9 O) M E& g+ p) `: v - </bean>' C1 D' g7 z. k$ m
7 q2 j- l! C8 k2 s: M; i8 l4 M- <!-- 定义BeanNameAutoProxyCreator -->! l+ U2 D% i1 K" U
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"># l1 x: r3 }1 I7 k+ d6 z
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->! K0 N! D3 q& i/ g3 |. C
- <property name="beanNames">
9 A; d3 t9 }- X - <!-- 下面是所有需要自动创建事务代理的Bean-->: S2 h0 s2 y7 [$ m7 L
- <list> W" b& m! z! a; x( `
- <value>examService</value>- l, F( T# e# K, J5 \
- </list>: B' }( q+ X+ ]9 L7 G) |
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->% G& V1 |1 J# G2 ~
- </property>
: w6 X) W( V/ B4 F. x - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->0 b; }5 j3 `6 p7 ?1 [3 C, m4 s: ?
- <property name="interceptorNames">! Z8 O# e: T# W! s f" M G
- <list>
2 ?8 {- J/ i2 k+ ~5 ~ - <value>transactionInterceptor</value>
4 } A4 H' K+ a- L* ?0 n& X9 U4 C' a - <!-- 此处可增加其他新的Interceptor -->
, v6 H5 h9 z& M1 {3 c; n - </list>
/ L* y" a" n& |6 B2 x' I: l - </property>
P0 [ @" ?7 h# M+ L1 o+ b0 ^ - </bean>
复制代码
2 E, r1 b6 |3 m' M
@- s+ I9 J. q
' ^4 }- s6 R. u
4 p3 H9 I( q1 g+ C
. N# ^) m; q: _- e Y项目源码下载地址:
+ R1 O1 B2 o$ M( }3 v1 n# x" W* N6 L' s, {5 l' Z6 d
8 r8 D. e2 x1 z6 B3 S7 t
, b+ ?+ _* z7 A. P& z/ e
, ?$ R& u; M7 Q$ B/ r, M# e# I
1 @/ g8 J1 Y0 f8 m. C0 L |
|