TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
0 U* H3 E+ p; D6 n) T# U模块:试题数据管理(添加考试类型、添加全部试题、添加试题)5 {% J: {5 `, M4 c& E+ s3 b
考生数据管理(浏览全部考生、添加考生数据). |9 f+ Y( P9 o& ^- ^6 O& B
数据表:admin examtype question student
; m# m q4 G3 t# \- q! S7 ]$ O1 c, j
& u& U' n* V' D& u; sappContext.xml数据库配置:
0 D X& `, V" L6 B4 W- <!-- 定义数据源Bean,使用C3P0数据源实现 -->0 O: J4 k4 E/ b: J$ x$ c3 N
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
4 L2 V5 Z. t4 @9 D- ?1 J - <!-- 指定连接数据库的驱动 -->
$ v# u I m" i# U" }4 Y - <property name="driverClass" value="com.mysql.jdbc.Driver"/>! ?! r; l$ x1 r3 d* k8 Z% W, K
- <!-- 指定连接数据库的URL -->, T2 `; J) T& }% }5 d
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>% H6 f) m' J+ a
- <!-- 指定连接数据库的用户名 -->
( H$ N# ? r: z3 U9 F6 n - <property name="user" value="root"/>
9 t$ E4 Z% `1 c* u$ {% L' o t - <!-- 指定连接数据库的密码 --> K* c: \9 O$ d2 x
- <property name="password" value="root"/>8 v- S2 [$ |" c7 j9 h" g
- <!-- 指定连接数据库连接池的最大连接数 -->
9 T4 o8 K7 W1 O0 }2 A% _6 M - <property name="maxPoolSize" value="40"/>( c) G3 u4 Z* V5 V" q
- <!-- 指定连接数据库连接池的最小连接数 -->
; c9 A* a0 h) `, N - <property name="minPoolSize" value="1"/>8 L5 P$ z: `! g2 i" M9 y
- <!-- 指定连接数据库连接池的初始化连接数 -->0 Y6 O8 j4 U5 N D5 |
- <property name="initialPoolSize" value="1"/>
: B4 ^8 K1 H2 `5 d, z - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->. g' K* Q. ]5 x/ D
- <property name="maxIdleTime" value="20"/>
- s+ B3 g! Q1 P- g0 s4 K1 o - </bean>
9 z1 p: Y+ X( P, z4 ` - & ^( V0 q! [4 Z4 I# A3 \$ R
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
2 j1 B- c3 |$ k- n4 K* x - <property name="dataSource" ref="dataSource"/>
. m( d8 H* {* M1 D6 L" V) T) {5 A3 k* e - <property name="mappingResources">, D/ ]+ J+ m d, v
- <list>
@, `7 c; |* h$ o0 S% v# E - <value>org/matrix/conf/ExamType.hbm.xml</value>" @0 S3 ]# v, W# A9 D
- <value>org/matrix/conf/Admin.hbm.xml</value>
/ k6 l8 b, [7 T( \ - <value>org/matrix/conf/Question.hbm.xml</value>; K2 @9 I; w. d% h6 [
- <value>org/matrix/conf/Student.hbm.xml</value>
& T0 Y- |- e$ l0 P. ?5 K - </list>
4 W) I9 `& g1 K) }3 ^- I - </property>* _5 D+ z0 \) A ~( D
- <property name="hibernateProperties">
9 g- r' F/ z0 L1 A7 r' {; d' j8 I - <props>5 S3 ~( @6 U( ~( M% z( Z& ~. r% B6 d
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>( G( {3 K) N. b" f* M
- <prop key="show_sql">true</prop>0 H c! L4 S* G" L+ H8 M+ m
- <prop key="hibernate.hbm2ddl.auto">update</prop>5 V" F% `! s. J- s
- <prop key="hibernate.jdbc.batch_size">20</prop> 5 O7 w* S z+ `: p9 L! U8 J- t
- </props>: I: N% L4 [1 F
- </property>
p/ s5 O& a, r! ?' L' c. E - </bean>" O1 O: N) q2 z: p1 k2 e2 t
* A$ \; h) ]8 k9 M, m' h( K* E$ s- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">5 l+ _; w! t5 s2 \3 }) |
- <property name="sessionFactory" ref="sessionFactory"/>$ [9 \ t# a4 B; i: N; m
- </bean>
( k% [. M* p; f2 Z+ O3 J+ ~ - ; c, k' ~0 l6 d; t
- <bean id="transactionInterceptor"
6 b* W6 ~( F1 \$ X& J% D( Q8 r - class="org.springframework.transaction.interceptor.TransactionInterceptor">/ n/ F( }3 j' p6 z5 ] N
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
( F1 S" j+ I' r6 U$ D - <property name="transactionManager" ref="transactionManager"/>
- n0 {/ q& A1 t& M7 k" o* s( d - <property name="transactionAttributes">
0 F2 {& [8 Z8 z) N - <!-- 下面定义事务传播属性 -->
4 x2 e7 M) Q9 B- R( H G, x( K - <props>: Y( y1 W3 i' f( H
- <prop key="insert*">PROPAGATION_REQUIRED</prop>5 s8 D" d3 l) l+ P3 t W6 a! v, Z2 G
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
- v, w. w$ q# N, C3 l" |$ R - <prop key="*">PROPAGATION_REQUIRED</prop> n$ `, k0 _! Q5 Z- B+ T' F- Q( o
- </props>2 Q. e" W+ J9 w! m
- </property>6 U2 ~$ Y: e4 X) o h8 ^8 k
- </bean>- o9 ?9 v0 K8 h! \$ |7 K
- 8 e' B0 } \2 O2 @( m ~, ^& B
- <!-- 定义业务逻辑处理组件 -->
- a, e# B3 v7 ~! L v Z5 ?" g - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
. k$ D$ {& l% r- b2 c2 j - <property name="adminDao" ref="AdminDao"/>
: I2 R0 L U# Y! |3 z - <property name="studentDao" ref="StudentDao"/>
, Q5 y0 |( |; D2 d# s ~/ j) V - <property name="examTypeDao" ref="ExamTypeDao"/>) P* o6 E0 W' y. d( Z( o/ F
- <property name="questionDao" ref="QuestionDao"/>4 d8 S5 s. g" H' g
- </bean>
& J5 G5 R# K. o4 z
1 p5 p$ M. _# u, t% w' ~ }" i" H- <!-- 定义BeanNameAutoProxyCreator -->
\. J( k) Z6 v# | - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
9 Y4 q1 ]4 F/ D9 a3 n# ] - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->
; q- z7 z5 R, n - <property name="beanNames">
; n7 M' r$ {# n2 t) | - <!-- 下面是所有需要自动创建事务代理的Bean-->
7 ^ T& e& h3 H - <list>
1 c: ^/ n7 g' ~; Y/ i0 t( s - <value>examService</value>
, ]2 R k2 p, f/ b7 B8 C& O, |/ s - </list>
2 s2 U z) x+ F - <!-- 此处可增加其他需要自动创建事务代理的Bean-->/ }4 C. W1 H1 U. b3 {; P) C$ }
- </property>6 e i! s$ F6 O! K# r8 Z
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
/ x6 D4 t! u& V h9 l/ ]& o - <property name="interceptorNames"> J9 T( Y8 C2 v+ k7 ?( a
- <list>
/ v9 H. V6 K; g! I* t - <value>transactionInterceptor</value>- b% W% ]+ H1 ~2 e
- <!-- 此处可增加其他新的Interceptor -->
" u! w9 O1 O5 {9 U1 q& x8 L* Q - </list>9 B" Y3 h2 h5 @: ?; x
- </property>- N& t6 g: ]' g: c+ X( _& [4 o4 U
- </bean>
复制代码 . g( B3 |4 Q- C4 r! [# ]8 q$ N9 F
) N# {3 s1 T. F" G: \* Z0 I D
. Z5 F/ A' M6 l: f7 [) g7 O+ C9 m
3 f& [ o, F3 Y6 `+ u5 v
( F0 _+ P7 z) r, e9 o) l项目源码下载地址:
. ~( w5 b# T2 R
3 i' {, s; e$ i( e2 A5 e9 \# i9 g3 w2 e
, X, U$ H- H1 A2 b. v
5 e ?( y+ g1 i( Z
t8 n/ _& Z- Y" `- Z. m |
|