TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
D4 z0 Y$ g0 E% ]$ M% z) c模块:试题数据管理(添加考试类型、添加全部试题、添加试题)
: y" W1 Z1 Y$ z* O, Q% a 考生数据管理(浏览全部考生、添加考生数据)) P6 o0 @. e; d& K/ e
数据表:admin examtype question student( Q P+ C* v$ F2 a( e
; K4 H! a1 B1 }0 {8 ~2 i6 e
appContext.xml数据库配置:$ P5 b8 w) R) n( Q6 g
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->% O- o7 _1 o' i4 E- T5 ?' K6 t0 \1 F v
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
/ g. d6 P3 N3 I! Q! o; Q; F - <!-- 指定连接数据库的驱动 -->
4 F2 }8 [7 F( E - <property name="driverClass" value="com.mysql.jdbc.Driver"/>- b+ m3 q2 ?& Z" m( e
- <!-- 指定连接数据库的URL -->
. m+ P: i. w' m" C; q+ s - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>% F. w7 l' {3 E% H+ ^1 O U" S
- <!-- 指定连接数据库的用户名 -->
4 c# I4 p6 R) Y$ m8 G - <property name="user" value="root"/>6 \( _2 A' C. ^/ y! n
- <!-- 指定连接数据库的密码 -->
: H3 J# f, D2 ` - <property name="password" value="root"/>) t0 n' m. X+ m8 ?7 w- t0 ^
- <!-- 指定连接数据库连接池的最大连接数 -->8 Z( V7 h% A1 j# H/ g# E, ], Y5 c
- <property name="maxPoolSize" value="40"/>
( |( C# z/ m9 ? - <!-- 指定连接数据库连接池的最小连接数 -->
; [) Y. o4 Q+ m# h. F- D - <property name="minPoolSize" value="1"/>
7 j- w6 a; d# [; n - <!-- 指定连接数据库连接池的初始化连接数 -->- M; N- F+ n& B7 R! z
- <property name="initialPoolSize" value="1"/>
; |3 c5 R2 B! \9 l. D0 C - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->, r1 @# n' m" C' n9 J
- <property name="maxIdleTime" value="20"/>& i" M' x9 G$ u% o3 c) I$ e
- </bean>; J8 p& V/ S! Z9 ?9 G4 Y; j
* d3 L* B% i a' K; Q* v7 z- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
7 ^- J+ A7 a! g9 x& E - <property name="dataSource" ref="dataSource"/>
) _! j/ D8 K8 g1 }# J - <property name="mappingResources">9 c/ y; t+ U8 K- `
- <list>9 k7 t3 _2 v0 N9 u$ l
- <value>org/matrix/conf/ExamType.hbm.xml</value>+ ~/ n P! V1 s1 \; O c
- <value>org/matrix/conf/Admin.hbm.xml</value>
- ]% W6 ~: Y' a a8 t - <value>org/matrix/conf/Question.hbm.xml</value>
8 C. B, J" o+ a( g p1 i - <value>org/matrix/conf/Student.hbm.xml</value>
- {4 N: I4 d, [* ] - </list>* D4 c) u9 s" f7 a7 G4 j
- </property>, x+ G/ Z' P3 U9 N/ C- Q; c1 h: s
- <property name="hibernateProperties">
% q" q1 e* S' o, T6 p% | - <props>
5 G4 L. s# }! r( G. V1 e - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>* {) n1 f% V" i9 ^
- <prop key="show_sql">true</prop>
; M& u) [% Q/ J5 T! Z2 [+ d0 y - <prop key="hibernate.hbm2ddl.auto">update</prop>
! k$ o% i5 q; _7 N- Z8 {+ N - <prop key="hibernate.jdbc.batch_size">20</prop> ' C$ F* m. Z5 V
- </props>
6 R8 f: a( _# _9 M2 C& G. ? - </property>
- ~- |5 V; L0 a" a3 W) O - </bean>% ^9 r! a* r" m9 q
4 J7 V+ k. [; o' [- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">* H& z# R, ~# t- ^
- <property name="sessionFactory" ref="sessionFactory"/>% s+ `$ ]9 k! X
- </bean>% T7 G: Q% T$ Z- Q5 D, }$ |
- # g& u0 z1 M5 o$ I# \* E: k
- <bean id="transactionInterceptor"
/ v: A3 K2 ]' x0 V: F - class="org.springframework.transaction.interceptor.TransactionInterceptor">
4 d \8 ]) b: Y( E/ p6 N4 W - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->6 ] _& M, y8 |8 n# Z$ p# ~; P; ]
- <property name="transactionManager" ref="transactionManager"/>+ x9 C6 g! E- e! J% x
- <property name="transactionAttributes"> m7 Y' R. g4 `" ?" O3 k) J
- <!-- 下面定义事务传播属性 -->
% M F, C2 n" g; X+ G, Y - <props>
7 m. X; ~8 X+ j$ k - <prop key="insert*">PROPAGATION_REQUIRED</prop>
. G7 H& r: ^( E( S+ u5 N3 a* w - <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
1 a/ V d7 j6 d' u/ ~( q - <prop key="*">PROPAGATION_REQUIRED</prop>* q; K* f: m2 F/ O
- </props>
* A }. X& i6 S1 _: h! d/ k6 A( `7 h - </property>
/ I( w* h }/ i$ r9 b - </bean>" t9 o! o* }1 [, g
- ! _6 f# I0 T! U6 ^
- <!-- 定义业务逻辑处理组件 -->8 e0 w3 G3 a& A2 u
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">1 o1 O2 Y3 {; ?2 ]; D
- <property name="adminDao" ref="AdminDao"/>, s# d, V! h$ {/ X$ Z) k2 q6 s
- <property name="studentDao" ref="StudentDao"/>
# m4 q9 J8 t; y - <property name="examTypeDao" ref="ExamTypeDao"/>
, m1 V) G+ v" @- H - <property name="questionDao" ref="QuestionDao"/>
0 u. q1 _6 c- m9 M8 z - </bean>
! L) @3 z* Y; B/ I! i
- z0 ]1 U8 h; F6 @6 g! V- <!-- 定义BeanNameAutoProxyCreator -->$ v' O! }; E$ a* A' a/ P
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">* Q+ Y8 O& T& U1 Y7 S
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 --># R" B$ F; A. s/ o1 a. e
- <property name="beanNames">
; z B5 v9 V$ z' f" } - <!-- 下面是所有需要自动创建事务代理的Bean-->
" a6 L/ w8 |+ X - <list>
" M- e! }( P C3 c& n6 E* v - <value>examService</value>
Z( A1 m& i/ \' v: C L - </list>
# p( ^* o$ a: ~/ W) d# Q - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
2 z, {- S" } Z! b - </property>
9 J' i1 I' e) N/ Q# v6 ~- M - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--> |! |3 @9 q2 |. @; I
- <property name="interceptorNames">
/ p/ N* W6 G% l5 n! T6 t f - <list>* c' q" l! I4 t8 t
- <value>transactionInterceptor</value>
! d+ {" ?* i8 u' W, @ - <!-- 此处可增加其他新的Interceptor -->& F2 t6 ?3 M" Z7 c, ^: u
- </list>
: H! L C9 S" g( J2 R# S# B - </property>6 H% N. B$ j/ Y/ N
- </bean>
复制代码
9 A. v& o5 M$ N2 f- [$ _9 ^
% x0 V+ K. t1 v- y5 i) F
1 U% Z1 C& U! V3 a9 Q- t/ Z2 W
% h+ G" o3 o6 W& g, N* v
, Z8 n: D4 P/ {: [5 T; ^# F项目源码下载地址:+ W8 p. p3 J$ S( Z
) l0 B0 Y% B9 C" r' c+ c* }7 r
7 S# \4 {2 S7 K* ~
) c' L" p2 V. b j, V) r# ^5 {0 ?1 ~) h( U- K9 G. G. _
% P m& I, C9 J! Q- u |
|