TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
2 n+ n4 W: m" W8 J; c1 ~模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
) k5 N: d+ b# J1 R5 O) g1 Z" F0 ` 考生数据管理(浏览全部考生、添加考生数据)+ `/ I+ g. E0 i Z
数据表:admin examtype question student
- I3 k' b2 s: E( p
0 ~! @4 ?9 k7 X# Y% H
appContext.xml数据库配置:6 P Z0 M6 e( e: i. a: Q7 V
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->5 B: T3 j% c' M1 ]& ~8 ]9 b9 L
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"># m! m$ P: [) g6 A
- <!-- 指定连接数据库的驱动 -->5 [; ]' m( k1 ^" U H
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>! _1 k9 W; D" W- Q6 O) I
- <!-- 指定连接数据库的URL -->1 i ?2 V4 U8 P1 s2 ?) s4 j$ D0 k
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
1 r4 \; I! X; k; K" G9 B! e/ I - <!-- 指定连接数据库的用户名 -->
( [4 m" k3 }& p7 M7 j: |* M! H; P - <property name="user" value="root"/>
3 H9 b) C- ^* w9 J- u6 n0 G - <!-- 指定连接数据库的密码 -->8 r5 M7 j) I0 h
- <property name="password" value="root"/>0 N2 y* V$ d, T, x0 A- l
- <!-- 指定连接数据库连接池的最大连接数 -->
% [1 P t9 D+ Y% V* v4 f! x - <property name="maxPoolSize" value="40"/>
6 J" S! t7 [( Q: Z! T. }6 Q: D - <!-- 指定连接数据库连接池的最小连接数 -->* j7 l" G+ Y, X6 r- r4 {$ d& X
- <property name="minPoolSize" value="1"/>
; n7 C" A# G3 w$ M4 q) G: f- z - <!-- 指定连接数据库连接池的初始化连接数 -->+ y* l" z! L5 `3 l# p s0 f
- <property name="initialPoolSize" value="1"/>
Q/ s/ @" x+ ~9 @ - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->& q* _6 t; Z+ f9 `2 z C) U0 u
- <property name="maxIdleTime" value="20"/>
; g- G( c+ v6 Z1 z% \2 n! L - </bean>. B7 W0 M$ w5 s
- + M, v9 @9 ~* ^# I6 w0 ~ B
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
3 Q4 A* V3 z7 W) x! f - <property name="dataSource" ref="dataSource"/>& [. a/ P4 S1 D$ P, p
- <property name="mappingResources">
, r; {1 ?/ H7 \& w/ w' }; p - <list>
6 k% g6 ]5 }# x1 r2 q - <value>org/matrix/conf/ExamType.hbm.xml</value>
% r) y* a# ?4 i% k - <value>org/matrix/conf/Admin.hbm.xml</value>0 [' }. \. u/ ^* `0 l* f
- <value>org/matrix/conf/Question.hbm.xml</value>
|9 I o9 m$ ]& z6 F/ l# y - <value>org/matrix/conf/Student.hbm.xml</value>
% I% N' s$ G8 o t( e# n - </list>. B; o" W& `7 F1 ^# _/ e
- </property>
( ?# E/ J+ l& X - <property name="hibernateProperties">! t5 s. P0 \! E% I; p: S
- <props>1 ~* b9 L, Y" A) N' l
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
& s, m# b7 }: u4 @ - <prop key="show_sql">true</prop>
- o y4 L' I1 W( U. } - <prop key="hibernate.hbm2ddl.auto">update</prop>+ N6 K; l; Q! k& |( J: c
- <prop key="hibernate.jdbc.batch_size">20</prop> ( H8 c. q6 Y, \3 R! k/ r
- </props>4 Z( t- W) Z/ l
- </property>
/ C; f7 _! a4 u# e: s - </bean>
5 d0 {6 I5 k2 N+ x' g9 N$ V+ ]! I
9 v& B3 r5 n( V" h* q- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- R3 m! o' F9 n - <property name="sessionFactory" ref="sessionFactory"/>
e6 Z! X7 x: N% j$ n; @3 d9 | - </bean>4 c ~" O) ?9 l
- 8 B. X; h( |) t [0 U- `& c& [
- <bean id="transactionInterceptor"
9 Q. [' K# |: E* M, A6 P( C - class="org.springframework.transaction.interceptor.TransactionInterceptor">1 [0 }2 D" W" |) Y
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
- Q4 H, b; S7 w% v( k( m6 F - <property name="transactionManager" ref="transactionManager"/>
( \4 k8 d% O2 w8 M - <property name="transactionAttributes">
/ v7 r' c; C$ e- G( t$ V% i - <!-- 下面定义事务传播属性 -->2 t/ [' k+ U3 p& G
- <props>
. u8 s( |- j! i - <prop key="insert*">PROPAGATION_REQUIRED</prop>' ~0 w% w4 w' H$ Z' X# B
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>! ?; j* a5 y6 o+ y0 S* u0 H
- <prop key="*">PROPAGATION_REQUIRED</prop>! P9 G5 U7 n) I) {
- </props>
/ e$ G) Y( w( j& G - </property>
$ h0 q$ t8 y/ ]( R3 C! ?7 x - </bean>
6 i3 R- o0 ^2 |8 x; X- L- ^7 O. U - 9 r( h- g6 L4 W+ L
- <!-- 定义业务逻辑处理组件 -->
( {, b; w* i9 a" J& _ - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
% V# H! v; R* m/ o; N7 l - <property name="adminDao" ref="AdminDao"/>3 i! U/ y) z9 y$ Q. c$ \
- <property name="studentDao" ref="StudentDao"/>" [6 x4 G. B- h- J: {9 s
- <property name="examTypeDao" ref="ExamTypeDao"/>4 N5 w: P8 X# K; {+ @
- <property name="questionDao" ref="QuestionDao"/>
1 f% }* { y2 K* D3 O9 X - </bean>
$ L! C9 L/ ~0 s6 B( X. u; {1 M. {
" ~' v, s/ }* L- <!-- 定义BeanNameAutoProxyCreator -->
3 O# B1 j1 V% _( a8 Q - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
5 I7 e" N5 z( |$ e- `6 G5 \ - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 --> Y+ H8 L5 y- H, Q; v
- <property name="beanNames">: P1 e7 } b# i" [. O: I$ o
- <!-- 下面是所有需要自动创建事务代理的Bean-->4 z( @& o4 `& T- \1 Q& c6 ?
- <list>3 A: `* s1 h% \7 B! ?# m
- <value>examService</value>
# }# k5 ?! r. `8 ^' O4 V9 x" | - </list>
/ U& I# d% c0 B) y1 v; L8 d - <!-- 此处可增加其他需要自动创建事务代理的Bean-->' A. ]4 w1 \9 C6 E* R
- </property>
9 l) ?0 D5 f! k% B, b% I - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->4 C' M1 S" }; G4 h8 I
- <property name="interceptorNames">
# s- a; u E" t, P& W - <list>
; f% `/ i T- a" m' H- d% l - <value>transactionInterceptor</value>) W6 l$ R/ e6 H/ T4 N( W
- <!-- 此处可增加其他新的Interceptor -->1 u7 I/ t5 a4 c0 q& T* V' g
- </list>% [& S1 O r$ I0 I0 Q& i& r
- </property>* O' W& m- v+ M7 I
- </bean>
复制代码
5 C z# \ G4 E$ `8 P: K8 z
6 u1 Z- @$ T2 p
" c2 m$ d# k1 T s3 j
# X0 }5 W5 x" R2 j# q7 i- m1 n, n
2 j1 c% D* b' X! T. d
项目源码下载地址:$ t0 m3 k- s# |3 G
: J ^* a" Q7 I h
6 k5 ^5 i" t9 _' ~3 D! y2 }
R' D1 H! H: x
2 e7 T* ^2 Q. l4 o6 S3 l; A0 k
+ G4 N n I2 Q0 u% T+ R0 F1 E |
|