TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:# C0 @4 f& k: e1 H0 @- K4 a/ O) E
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
0 D9 B1 T y- v 考生数据管理(浏览全部考生、添加考生数据)1 k h0 i/ t& \. G# T' U
数据表:admin examtype question student# O2 U* N, ^/ V+ i' U
. N6 {1 C I8 O0 i$ f% OappContext.xml数据库配置:
- S) w1 D6 B; b' u- i' h1 j- <!-- 定义数据源Bean,使用C3P0数据源实现 -->4 g; H' L8 g: i0 H: m
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
& K" H' d: d7 }$ S, \: y - <!-- 指定连接数据库的驱动 -->: |% [" u& ~0 ~6 }7 |/ M g" \4 ]& ?
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>" ^# w' l+ M- ^6 g$ r. c x
- <!-- 指定连接数据库的URL -->( m/ B& F( U( q
- <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
4 U: d; k! t3 e9 o - <!-- 指定连接数据库的用户名 -->- M6 J1 | ?- U y( P' d" J
- <property name="user" value="root"/>* e% ~0 A7 `" N, G j- r
- <!-- 指定连接数据库的密码 -->2 e8 T) p, W; u6 f5 z. P! I7 x5 M
- <property name="password" value="root"/>
. S4 I; e! v a& P# b% q' } - <!-- 指定连接数据库连接池的最大连接数 -->- l' J2 u n; j L8 P! d/ F& ]
- <property name="maxPoolSize" value="40"/>
0 x+ B# r$ x5 h7 L# F+ U% y4 M - <!-- 指定连接数据库连接池的最小连接数 -->
( V0 S# j: h+ r - <property name="minPoolSize" value="1"/>
/ [# V* d+ c z) n1 q - <!-- 指定连接数据库连接池的初始化连接数 -->
% y! Z' I7 X% R y% Q - <property name="initialPoolSize" value="1"/>
* t3 k# [) f8 v' v6 h9 r, r6 k - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
; a, l4 q& i9 {4 k5 P2 b - <property name="maxIdleTime" value="20"/>
' j H0 ]0 ?% c - </bean>) [4 g0 p0 z$ k* c/ w; Q) r
5 P% d7 O" X; L" X$ r- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
' [# k4 t( [4 c! j9 M/ b - <property name="dataSource" ref="dataSource"/>; z0 ^0 R# Z3 p9 p+ S
- <property name="mappingResources">* b) Z9 e1 ^6 M/ K- q7 R
- <list>; w# q! X& Y, [% R. A
- <value>org/matrix/conf/ExamType.hbm.xml</value>
/ P, g; N8 e/ z$ p1 q6 G- i - <value>org/matrix/conf/Admin.hbm.xml</value>' a3 g/ ~0 j, I- l) P
- <value>org/matrix/conf/Question.hbm.xml</value> i ^' A, R0 A* ^+ R1 j6 d
- <value>org/matrix/conf/Student.hbm.xml</value>6 l: s) B( \8 D4 X: e; a
- </list>% C7 b6 x0 g5 W1 j
- </property>
9 G% k/ D5 w7 A4 O1 S9 V - <property name="hibernateProperties">" O& e3 Y+ R( ^ t S3 }+ Z
- <props>0 ~. w3 ?# E" }
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>, U, K/ o0 ^6 d8 [
- <prop key="show_sql">true</prop>6 C) O' O5 ?3 n# p' F
- <prop key="hibernate.hbm2ddl.auto">update</prop>
1 a; q: p" B( y. W - <prop key="hibernate.jdbc.batch_size">20</prop> ) u; R% Q+ f$ p+ ]( o' {
- </props>) o7 Z8 W2 h1 |
- </property>
! {+ C {6 H8 g; U - </bean>% w$ J r: |8 ]) y/ c3 }' {
% G& x( `4 K7 @% b u- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
# U- H! B ^5 u [ - <property name="sessionFactory" ref="sessionFactory"/>
3 l" A6 S7 h, h3 I6 f4 F - </bean>
( h! \$ Z) W0 C
, M6 n0 ]* c4 t: T0 S8 a4 ^- <bean id="transactionInterceptor"
- J' z6 ~4 y: F: o Q4 ? - class="org.springframework.transaction.interceptor.TransactionInterceptor">3 |3 R# a7 ^# F1 y9 h+ c! Z
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->9 |. q3 p" X% f5 S8 J7 H) U
- <property name="transactionManager" ref="transactionManager"/>
# x j* z' J& y% a6 T) h0 P - <property name="transactionAttributes">" T/ H4 B7 @* C p m3 H( j9 ~0 ^
- <!-- 下面定义事务传播属性 -->
# x* x9 W1 \! j3 E - <props>3 I$ ?) |# m3 Q9 i
- <prop key="insert*">PROPAGATION_REQUIRED</prop>4 Y# T; m3 D2 w
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>! | [4 h( ]% C
- <prop key="*">PROPAGATION_REQUIRED</prop>
7 c: m E9 X- J: {5 S# ~ - </props>
- s& \: x4 {1 ]2 Z# N - </property>
. S) j5 X P& @, D- ^5 R! m - </bean>
5 F. [5 H: A, \# @ - $ X9 K: `. n1 z) u1 B; R2 e. t
- <!-- 定义业务逻辑处理组件 -->
?1 t1 l8 D1 W) l) v - <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl"># L' X* F: A4 P8 s6 c: o# V
- <property name="adminDao" ref="AdminDao"/>! x" H. J- z0 I& A# G0 ]
- <property name="studentDao" ref="StudentDao"/>7 g% c T: Y9 r. s
- <property name="examTypeDao" ref="ExamTypeDao"/>; L/ v; J* h! w# A) Y) ?! r
- <property name="questionDao" ref="QuestionDao"/>
. D1 G: o. B) A3 c ^ - </bean>6 J8 n1 q% x" `1 E* F* k
- + J2 f' ~8 \. H% |# r0 M# o* M
- <!-- 定义BeanNameAutoProxyCreator -->5 I0 t, ~- [! U
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">6 s+ P% @1 m) k3 v* i! k
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->0 w! F9 \) w ~% Z1 a; {4 l n% b
- <property name="beanNames">
% ]( W2 E, b& U7 e3 G6 Q - <!-- 下面是所有需要自动创建事务代理的Bean-->
2 {: \7 n: F3 c - <list>
+ C' m' X- B9 M- E6 L5 o1 _ - <value>examService</value>
' P0 z0 }7 w) t9 a - </list>- c" L3 T( g% h) V+ I$ @
- <!-- 此处可增加其他需要自动创建事务代理的Bean-->
# Z/ R. A2 j! b6 J/ N& u; s - </property>2 _' H* i' \1 V5 _" g, r& X% _
- <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->1 W5 J" A" e% K$ k. w) u
- <property name="interceptorNames">
8 ~4 R. c. l1 A. C% F3 i' V7 K5 g - <list>
* y. ] Y% r2 M* M - <value>transactionInterceptor</value>. Y( m; @3 C5 G( a7 S0 f6 g
- <!-- 此处可增加其他新的Interceptor -->
9 d7 g7 q- N1 {* o& n - </list>
' r- f3 [6 }: w7 u" _0 W! i - </property># `2 U/ x. X) n# E( A
- </bean>
复制代码
' q) @! T6 m2 G0 p% U( p
v6 |; U* T) R ]- G* C1 J; L
& Y+ v [3 k* t+ p' D
1 D9 K7 {5 j- k* H
$ U2 T( N/ n. \) }$ t E% k& X% [
项目源码下载地址:
$ ^. p* n0 P2 R3 \2 m7 e# ^4 @* j5 b/ W& v! `
+ @5 F1 i4 Z0 `6 C5 h6 \. Q" E
/ {& d$ p H! L' k* S# b+ O$ K6 D4 A* q
; ]( V0 C, I( T& {% {& [
|
|