TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
7 e' Q3 W) {! r模块:试题数据管理(添加考试类型、添加全部试题、添加试题)! ?5 Y4 M$ n" w7 a! \* w
考生数据管理(浏览全部考生、添加考生数据)7 @. p6 o6 {- e4 O |
数据表:admin examtype question student' n# Q" g/ S5 O0 t y; \4 W9 K
0 d! V; ^1 v. Q! i9 cappContext.xml数据库配置: y% s# U, [% y$ y$ q
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
9 Z1 d6 y# a" l7 l( \( K% z5 i9 w - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
+ O8 N3 y+ ^9 }* _) t2 s - <!-- 指定连接数据库的驱动 --># f% j' d! Y5 v
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>4 a, } L: U, r$ x; V: y+ U g7 t
- <!-- 指定连接数据库的URL -->
! ~ w( F" w$ a5 e - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>) B/ h; c$ S! S; \3 v7 d4 @
- <!-- 指定连接数据库的用户名 -->3 r3 v) n: Q2 q; g
- <property name="user" value="root"/>
' z* r+ \; ~; s% r$ h: M& L, T - <!-- 指定连接数据库的密码 -->
" x1 c- P6 L* S/ A - <property name="password" value="root"/>
. t' @* X* \1 ^5 E2 O; k - <!-- 指定连接数据库连接池的最大连接数 -->1 s7 s" \8 y; P+ N9 } s
- <property name="maxPoolSize" value="40"/>
' K" \7 L3 n0 V9 [ - <!-- 指定连接数据库连接池的最小连接数 -->
- F5 B' w! L4 n5 s$ x: ? - <property name="minPoolSize" value="1"/>2 b5 _0 \4 P# y9 X: e: ~. ?1 I
- <!-- 指定连接数据库连接池的初始化连接数 -->
( D+ c5 v; x' R; t. d3 } - <property name="initialPoolSize" value="1"/>- i. d. M; x3 e% K. H7 G
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
9 K, r7 m7 j3 c+ _4 u - <property name="maxIdleTime" value="20"/>
8 r7 m3 ` c1 p+ a - </bean>
5 e! T% @# x0 @( G$ q( W; v% B: ^
' Q6 }' e0 Y% y2 |$ K" E2 l- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">( p& M" c) b! w% `) n
- <property name="dataSource" ref="dataSource"/>: P( s8 U$ ~9 E3 A3 o7 L7 L
- <property name="mappingResources">
; U: l7 [6 m( |9 o - <list>
, E- M- z7 @, j1 r2 @& Z( G* c - <value>org/matrix/conf/ExamType.hbm.xml</value>
, T" k( x5 t! E" b8 I. h/ R2 x - <value>org/matrix/conf/Admin.hbm.xml</value>
4 w, u! }7 {$ x/ h9 X, ?$ i J* A - <value>org/matrix/conf/Question.hbm.xml</value>
+ z* @# n( T$ d- e) y0 A - <value>org/matrix/conf/Student.hbm.xml</value>0 K6 \1 m5 f# {. _. `" z! u
- </list>/ R0 F: X5 a6 j- V
- </property>
( O) t+ H7 I: u' @; Z: P1 J4 { - <property name="hibernateProperties">
4 G- _9 r/ _1 Z5 L; P - <props>
$ n5 o R: w) T+ _/ ~1 g - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
5 }+ h, _5 D" ~' c - <prop key="show_sql">true</prop>
; R6 U- J3 }( x3 q4 J - <prop key="hibernate.hbm2ddl.auto">update</prop>- t( x+ p7 z* B1 S( U' o O
- <prop key="hibernate.jdbc.batch_size">20</prop> % g" R3 B7 i1 @# R0 \
- </props>
1 D9 C6 p3 C; l; r1 M - </property>4 C5 s; d- l# B2 t0 d
- </bean>6 S% r& @. N7 }
* `$ h- o: z3 B# U- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
# n6 M* m- p6 N, V( H& A; b- ~ U o - <property name="sessionFactory" ref="sessionFactory"/>
6 Q2 S* I N' Y1 u8 W6 W/ d - </bean>
' n( d9 e2 A3 u# d3 q F" Q: I5 j3 s
) M& y8 e0 k. X+ Q4 A' R$ L- <bean id="transactionInterceptor", c0 j; z) C, a/ {1 Q
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
' m' Y7 \9 N% a+ r - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
6 o; f) ?9 }6 e6 g$ q) G. T - <property name="transactionManager" ref="transactionManager"/>
" U# _2 E/ X' N' L; i - <property name="transactionAttributes">, Q3 e, b7 V; b
- <!-- 下面定义事务传播属性 -->
7 j' J& y7 H8 H3 M - <props>
2 H$ I. v) K( g- P0 H6 H( s" x - <prop key="insert*">PROPAGATION_REQUIRED</prop>
% c+ s; l+ h. x4 ^# R6 } - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> I8 I! t, n# A2 P
- <prop key="*">PROPAGATION_REQUIRED</prop>- y3 D J6 X6 I
- </props>. q# v6 e2 Y3 H, `
- </property>
) G5 A% t4 A) @* M. m - </bean>
2 l. v1 X& ~7 q1 R$ f, R. k, Q5 a; { - / A' W1 x% v# e3 l. r; [ w
- <!-- 定义业务逻辑处理组件 --># \. h& B5 S: ?1 \, V& a6 M
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">& y' j+ y' ^* q
- <property name="adminDao" ref="AdminDao"/>
5 ?' u- _8 ]% L1 }; c - <property name="studentDao" ref="StudentDao"/>
% {, P" k" F% _8 }. Q - <property name="examTypeDao" ref="ExamTypeDao"/>) @0 d, v+ F8 W* ]2 k" ?
- <property name="questionDao" ref="QuestionDao"/>
! p0 K, m- Y* D - </bean>
- k- |$ K- X* F - ) B2 t$ G R) H9 f) U
- <!-- 定义BeanNameAutoProxyCreator -->, E; G- d* D) |4 C
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
6 \. H, O* u$ x S - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->; c% J1 @4 z5 D% Y
- <property name="beanNames">
y7 I1 g. H3 `+ q G: e - <!-- 下面是所有需要自动创建事务代理的Bean-->' e/ @8 s* b, W
- <list>
7 K: x2 t# O* n% O& f$ i: g - <value>examService</value>( J. w! ]" [2 w, {
- </list>% M/ \8 e: q% [* T7 \7 R
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
) j) e. E% z5 s9 h: ] - </property>
+ z; c/ M; b9 M p% ~ [. Z2 z - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
" x% ~; Y2 U9 y) u) M# C - <property name="interceptorNames">
/ k1 S, V/ H, ~ - <list>
" m$ B$ v- Y( x( @0 i( R - <value>transactionInterceptor</value>, G0 z/ g( f: j$ O3 {5 Y+ l% ]
- <!-- 此处可增加其他新的Interceptor -->8 P' c) O1 E6 Z" A/ e) {0 N
- </list>
2 h* s3 u5 ~. B. e' v% r2 x - </property>& z) ?9 s& X2 d" M/ c' }0 p# p
- </bean>
复制代码 : e8 M1 K) N% x9 s0 ]* |
* e( a3 ]& f9 f" Z. e% h& d
! e3 v% d5 m7 N
9 A) e7 N& h& q" x0 ?
0 L7 j" o c% n5 U1 O- N4 p* P项目源码下载地址:
8 V# z( h( v, B! ^
4 `5 Y9 Q0 D6 [, l+ @! W9 W; |! ?1 \/ L- G" g+ t$ x2 i9 v4 z: D
% o: g0 `# n& T4 j) x- ^' k; R
/ R; y& M v4 p0 s" L* X4 N( u
2 j/ g- w9 H4 b6 z
|
|