TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:! Z4 F6 M! j' E; V4 B
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
8 T) ]8 o; N. e, V; ] 考生数据管理(浏览全部考生、添加考生数据)
2 } a( e: m3 |/ N: R$ O5 j$ D数据表:admin examtype question student2 ?$ Z* s5 f8 f$ Z2 l& G
. U" L& \! z# `! n( F: Y# |8 yappContext.xml数据库配置:
$ F1 s! e/ I' T1 S- <!-- 定义数据源Bean,使用C3P0数据源实现 -->6 u0 {( \- v: M, I6 j" z
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">" F: ~, E6 g, X# L
- <!-- 指定连接数据库的驱动 -->
) I; V0 t& f4 o6 K0 ~% ? - <property name="driverClass" value="com.mysql.jdbc.Driver"/> l8 f5 ^; \* p! @
- <!-- 指定连接数据库的URL -->
/ p- v" C7 A7 V7 {( b2 i - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
9 P4 Q% u" q' b1 p - <!-- 指定连接数据库的用户名 -->
( ? P! i) [0 ]0 n0 R+ I- P - <property name="user" value="root"/>0 I/ Y' E8 u; [# b
- <!-- 指定连接数据库的密码 -->5 c( L0 K. B- r8 J4 @; U
- <property name="password" value="root"/>
/ Q) ]9 |6 l# h& W+ J- T& e - <!-- 指定连接数据库连接池的最大连接数 -->
( e2 e5 P( ?7 D8 J k# z# f - <property name="maxPoolSize" value="40"/>* `/ _! v( _7 [& m' M
- <!-- 指定连接数据库连接池的最小连接数 -->
: Z" ?: W6 K( W, B3 n% ]* E. n* G1 ` - <property name="minPoolSize" value="1"/>, E. d1 D9 P9 e- D7 R) @
- <!-- 指定连接数据库连接池的初始化连接数 -->2 ]7 o" d0 B9 F- P2 w
- <property name="initialPoolSize" value="1"/>; E4 n3 n8 O$ d, \
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->+ K% y# b h' k7 B$ W, I- `6 S2 k$ H
- <property name="maxIdleTime" value="20"/>
! i- z4 `* C% l* Y" f - </bean># a: {3 t* B9 o. }4 c0 N
- $ z# s- l/ i9 m( K" v) c1 M' B
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">& @. D5 K# |" x0 a# l
- <property name="dataSource" ref="dataSource"/>2 Y; \. p! b; e5 J7 F E
- <property name="mappingResources">
) t7 A, N4 i0 m- R9 h/ B" a7 O - <list>% y6 Z5 p4 E+ ~# }3 ~) q
- <value>org/matrix/conf/ExamType.hbm.xml</value># K2 ?- ]! O5 Z+ `# Y$ c& s' ]. h) ~
- <value>org/matrix/conf/Admin.hbm.xml</value>$ R% C8 ]$ S9 j, ]* l8 m& R& F
- <value>org/matrix/conf/Question.hbm.xml</value>/ t1 Y2 P, F0 ~7 N, X+ R, u
- <value>org/matrix/conf/Student.hbm.xml</value>( o e% E1 I7 V K9 v8 s" w
- </list>; Z& j8 K) l! _* x# z# O1 C" l
- </property>
3 T4 u+ V( R+ |2 J - <property name="hibernateProperties">9 a% H* N7 A3 G$ W) g7 C$ w
- <props># l- O6 ], |$ o, I. D/ q0 g$ {* o
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
5 [3 J- {: q, P. ~ - <prop key="show_sql">true</prop> K6 h. \, C; i( b8 N! |) h
- <prop key="hibernate.hbm2ddl.auto">update</prop>
" }) Q9 v; D/ T% m1 ~ - <prop key="hibernate.jdbc.batch_size">20</prop> 5 n0 N* e0 u' {0 P
- </props>
8 p6 ?* f# ]( v - </property>- T" V- b: T# N8 H, y
- </bean>* ^7 I5 K. u, \* B
- # S; m. g" Q2 J8 v* \- r
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
% A n" }) ~# [+ Z/ [ - <property name="sessionFactory" ref="sessionFactory"/>$ ~8 ^: |) V5 L* y3 k+ l! `
- </bean>% d6 L1 ]! u' S& x$ B( b
, T- J8 K( Z2 _+ K- w+ \+ b/ ~# o* s- <bean id="transactionInterceptor"
2 ~4 Q9 Y, t, q" ?1 k* i1 C. G - class="org.springframework.transaction.interceptor.TransactionInterceptor">- Z; H+ q3 F7 ^" m
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
! w& O5 R- K9 h) v - <property name="transactionManager" ref="transactionManager"/>, k/ l; w& b8 S/ o* O
- <property name="transactionAttributes">' X' B( {7 k; L7 n4 k6 a
- <!-- 下面定义事务传播属性 -->
( Z( r) g; H$ N1 a4 q- p - <props>
) N @2 j' u( j% s9 x - <prop key="insert*">PROPAGATION_REQUIRED</prop>
6 I! A4 ^9 H! B- s) H- O - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> G2 P% }9 k! n' w6 x
- <prop key="*">PROPAGATION_REQUIRED</prop>6 r) p) S0 C. p ?
- </props>
% U8 Z4 X9 }$ V - </property>0 f9 k8 \+ {; A
- </bean>
5 P r0 @& P! [! E6 _( a6 ^; z - / C, j# a) K; j- E5 [* K
- <!-- 定义业务逻辑处理组件 -->9 H5 x2 b( Y* I( a( V# W# [
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
0 P9 `& x/ J/ i% X5 P( N$ a - <property name="adminDao" ref="AdminDao"/>) C! k5 O3 n) G, g
- <property name="studentDao" ref="StudentDao"/>
8 C8 [2 E% u0 ^' Y( `* T - <property name="examTypeDao" ref="ExamTypeDao"/>9 u% Y* }8 X, ^5 i+ w+ ~( P7 O1 ]9 ~
- <property name="questionDao" ref="QuestionDao"/>
0 ?. b* {4 v6 w& y - </bean>
) V# \6 D- j2 T3 z - " `1 ?% U- a" q1 h! E6 l- D4 S
- <!-- 定义BeanNameAutoProxyCreator -->. z( G; s0 n) Y3 t+ R8 G/ W
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">& l7 M- X( Y; f, B* y- a: q
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->9 C/ R" k( _( V K4 U
- <property name="beanNames">& ]9 W2 Z u' M
- <!-- 下面是所有需要自动创建事务代理的Bean-->
6 ?8 h; h* A9 q% y# C - <list>
. T3 R4 Z$ ^9 P' N( b, Z' }" k - <value>examService</value>
7 J; N' ~& D7 M - </list>
5 T- A# u! _3 L1 o; v7 |9 [ - <!-- 此处可增加其他需要自动创建事务代理的Bean--># p1 Z! T1 e9 @7 A& P5 G$ O* b' H. ^( [
- </property>0 A2 y' O1 A) v7 @* m( U
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->6 B% I! E- v. @) {2 P& ]1 ]
- <property name="interceptorNames"># I- F6 A" t- S, a4 ^
- <list>
" C7 D0 [) X n/ U9 J# k" y5 q - <value>transactionInterceptor</value># A6 Q- S/ X' c: Q3 f; `1 G
- <!-- 此处可增加其他新的Interceptor -->
" P' c, b! n4 y - </list>
# t7 M1 o! @! }% l _" | - </property>
$ L' V3 ^- W% H6 J1 P# } - </bean>
复制代码 " i: S) n7 q) \: U/ i. l
& ^7 K. k' T" v0 ~2 G `% X
* K& N5 c3 p, U
) h; |, z# A4 U
# ^) P4 i) N) i7 G) A项目源码下载地址:
3 [: G/ D; A2 v6 ?, r* |) j5 V2 K2 Z0 E( x% M" `$ |
( L/ w2 t+ A7 ?8 c
8 I: Q, ^4 g6 R5 ]2 z6 ^! I
E- ?; E5 Q, \( B+ r: T
( e- _5 e& \! c" x% s) B |
|