TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
/ o' p9 L! l' }: m模块:试题数据管理(添加考试类型、添加全部试题、添加试题)% m" e8 U% ~, \& Y
考生数据管理(浏览全部考生、添加考生数据)) S* ~- |2 R, ]
数据表:admin examtype question student3 _9 h' v4 `8 s. F
7 {+ T& S4 ]7 DappContext.xml数据库配置:9 q6 a4 m. D, K3 L- ?! T, f
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
1 L; b! S* p3 C9 d - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">; P+ v2 L0 O( L$ B: {7 T
- <!-- 指定连接数据库的驱动 -->
( `6 i0 t, ]4 N' J4 y" T - <property name="driverClass" value="com.mysql.jdbc.Driver"/>
- U9 F+ J8 ?4 C4 u4 U$ z; V - <!-- 指定连接数据库的URL -->: j2 R4 z0 n1 y V) t" u: K6 {* @
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
% p6 y# A+ Z& x; q3 D0 r% H - <!-- 指定连接数据库的用户名 -->; p4 d$ j& t G5 D
- <property name="user" value="root"/># p; [$ c/ ~0 u: c( j7 _
- <!-- 指定连接数据库的密码 -->( E# f' w K) ~' _ A8 v' o
- <property name="password" value="root"/>
$ Y0 z, p& G3 E# E - <!-- 指定连接数据库连接池的最大连接数 -->
9 S7 j5 ~9 m, U D4 _+ h+ M& Y- P - <property name="maxPoolSize" value="40"/>
9 K/ ?3 X: J6 s2 G - <!-- 指定连接数据库连接池的最小连接数 -->$ W Q) C4 b% M |3 [! x& X
- <property name="minPoolSize" value="1"/>( P3 P/ W; h9 p3 h# a; R6 s
- <!-- 指定连接数据库连接池的初始化连接数 -->
% P% ]5 E4 w; {7 d& z5 V - <property name="initialPoolSize" value="1"/>2 o5 r+ w4 a7 l% Q9 K% u, Y
- <!-- 指定连接数据库连接池的连接的最大空闲时间 --> \- v5 D) R: Q8 w9 x: q
- <property name="maxIdleTime" value="20"/>9 L6 u5 y, e7 e5 T; u4 [8 [
- </bean>% l& E9 F' k2 A d* U- J, m/ U
- % C8 {7 ^. V6 |2 M
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
/ `% F: T0 ~' _ - <property name="dataSource" ref="dataSource"/>$ Y3 s% \! U. f7 K
- <property name="mappingResources">( z/ v0 r( s/ H( I) y! y
- <list>. n( [$ |- v3 P0 e3 g
- <value>org/matrix/conf/ExamType.hbm.xml</value>
- N, y- z& l: I* w% v) a3 N9 e - <value>org/matrix/conf/Admin.hbm.xml</value>
* t0 @- S' s, {8 p - <value>org/matrix/conf/Question.hbm.xml</value>
0 ^% A3 |. [! a8 I$ U m/ U6 @# ^0 g - <value>org/matrix/conf/Student.hbm.xml</value>
0 _% o8 O; Q; ~( m2 ` - </list>
4 [* I- H0 ?: } - </property>
2 s3 S* Z- g; T( J Z1 J - <property name="hibernateProperties">* K. v5 |* _# s# ^
- <props>& K. f; w3 B9 @1 X" E6 ?# x9 ~
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>$ I- }/ H! B; z; Z, r F: b
- <prop key="show_sql">true</prop>
5 @9 Q3 ]4 ?! S, K: } - <prop key="hibernate.hbm2ddl.auto">update</prop>
x' f# \5 H Z8 n+ i; T- D l - <prop key="hibernate.jdbc.batch_size">20</prop>
* h; c0 N6 ^: z* M( S/ [. m6 R - </props>9 j' ~' g+ S. r6 N4 v0 J7 A Y1 u
- </property># o/ F4 |% l$ t Z. q) [+ _
- </bean>
$ N; x2 h, }1 g* q - . D) [) c5 ^5 [+ m# ^8 {- \# {
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- ?7 x" F5 z# v* u# P - <property name="sessionFactory" ref="sessionFactory"/>
) T" [4 V* G! V - </bean>
. E, `6 B+ `7 c9 z
: b3 Q' ~0 b& R4 e$ K- <bean id="transactionInterceptor". L, t7 K% O0 Z3 `
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
" m8 O4 z, I& F3 s - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->5 A" q9 i2 F* @; q( e
- <property name="transactionManager" ref="transactionManager"/>& o* N% M$ M# i! B/ x* h
- <property name="transactionAttributes">. r2 v) d( Q3 K2 {$ K
- <!-- 下面定义事务传播属性 -->
8 m& a! r) H& c ~" t6 q - <props>8 ]8 i/ q+ x; r7 Q7 w
- <prop key="insert*">PROPAGATION_REQUIRED</prop>
: D( [( ?: l; Y% [1 Q - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
1 o- @6 v9 ^! j! h* @5 l; J8 Q - <prop key="*">PROPAGATION_REQUIRED</prop>
* O) ?, U( X1 R - </props>
W+ B8 w' M; w! q6 e! t$ U; V' b - </property>
0 e2 o; P h4 `8 h& S# e - </bean>
! c1 a |2 C5 \6 | - 0 E# b4 h; c; Y# ^0 c4 v! L8 Z4 d
- <!-- 定义业务逻辑处理组件 -->1 A; Y& r* j; N* d9 g
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl"> z: Z& ]3 {" h% n1 f
- <property name="adminDao" ref="AdminDao"/>
! ~( a" m% J+ c4 k, y - <property name="studentDao" ref="StudentDao"/> ?8 J, |2 h; [
- <property name="examTypeDao" ref="ExamTypeDao"/>
7 s y. f& x- t. K5 w' ^3 ~' y - <property name="questionDao" ref="QuestionDao"/>$ c: M2 S- o1 z. u3 `- G; s, W. r
- </bean>
' y( l5 v; V9 G- m
) d7 _8 u# x0 h. |3 n: `- <!-- 定义BeanNameAutoProxyCreator -->. F& H; ^6 [" z
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">+ x. n1 w+ f& u) Q% B( n9 _4 Z
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->0 ^ _8 x- j1 D" ~6 ~5 n
- <property name="beanNames">
$ x) h% h. t5 Y* {; G( f - <!-- 下面是所有需要自动创建事务代理的Bean-->1 F8 }0 c1 X! R& Z
- <list>/ B4 k- `2 h; o* H5 F9 N) p2 l
- <value>examService</value>% C8 B2 H! E/ h
- </list>
' K+ v1 q4 a; C! B& C0 J b+ C - <!-- 此处可增加其他需要自动创建事务代理的Bean-->+ w8 J% w1 A; j0 G- D1 p& l) n
- </property>
' f+ A( W x6 h9 H* E9 J - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
' I, {1 b/ V0 j2 g4 M - <property name="interceptorNames">
8 Y8 }/ J0 n0 m( f - <list>
: k2 u8 ^; F( Z4 w& s2 S# l - <value>transactionInterceptor</value>9 W# }( B- X" v* z6 H, D1 e# C$ W
- <!-- 此处可增加其他新的Interceptor -->
4 M, n. N0 s7 q - </list>
- @0 G' B& I, x* z: a8 A! P - </property>
& c# n. D6 t! A6 i' j6 h - </bean>
复制代码 5 T/ z( I5 r9 E ^
/ F y$ Q, ^* S0 K. g/ ]/ s
( X9 a9 S4 u2 p, n8 Z! ~- k
/ F- b4 X2 G! e! _- t- E! Z
$ V2 z1 G5 h b, l1 `
项目源码下载地址:( D B B& ] t, K
/ O$ J' f7 a, o' o, J! ~3 Y' A/ {
[$ V' x4 T% U. u3 u+ t3 H4 T! Y+ J, ~7 u' U
; B0 i/ F. ?9 u v% D. W. h/ \ |
|