TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:
$ s* L6 s# L1 B: L模块:试题数据管理(添加考试类型、添加全部试题、添加试题)5 b# r* Y( v" c! K
考生数据管理(浏览全部考生、添加考生数据)2 h. G+ a/ Z" w3 ]2 C# K
数据表:admin examtype question student7 Z2 h$ c; R0 J3 T/ r2 _
+ V$ \% s; j* ~+ q9 Y- r
appContext.xml数据库配置:' }7 Y- X3 O6 d E7 g
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->6 X7 x' L3 \0 h5 Q1 ]
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">+ @% h; K) A2 ~7 N$ z0 _" d4 }
- <!-- 指定连接数据库的驱动 -->
& L* A& a( y6 O& W- L - <property name="driverClass" value="com.mysql.jdbc.Driver"/>/ w" U5 p. M; Z7 V& M9 v
- <!-- 指定连接数据库的URL -->
x( t& q& ~4 r, ?9 Q6 M0 W' @ - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>+ M; F/ O7 \3 T0 z
- <!-- 指定连接数据库的用户名 -->
: z8 e; ~% a) ] Z: f ]2 a7 H - <property name="user" value="root"/>& i% j# \5 Z. O6 I9 P! A
- <!-- 指定连接数据库的密码 -->
6 A) d& @* U- ^2 } - <property name="password" value="root"/>, m1 _. u( q; M3 E/ g& [
- <!-- 指定连接数据库连接池的最大连接数 -->
5 ^4 f) G% Y# X$ O- ^! z0 b. _ - <property name="maxPoolSize" value="40"/>
8 x; X+ D. y' T' x" I - <!-- 指定连接数据库连接池的最小连接数 -->
% N- d+ d; X( g. z( m: o0 h - <property name="minPoolSize" value="1"/>0 F7 `' u) u7 ^+ }! l: E5 Z5 Z: L6 b
- <!-- 指定连接数据库连接池的初始化连接数 -->
* m& B) t& j/ z/ M, l - <property name="initialPoolSize" value="1"/>! H9 V: n% q) L9 \% u6 U" _2 I
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->+ t. G' c9 K/ l
- <property name="maxIdleTime" value="20"/>% ]0 N3 A& X# T0 n
- </bean>
2 k2 P+ d. {. q$ O& M( I - 6 }! H: z4 f2 U1 \+ M b( E5 L. C
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">: N. Q4 a, q+ m: f1 R" X
- <property name="dataSource" ref="dataSource"/>
. J1 c6 n5 Y" \$ @6 r! b/ {. ? - <property name="mappingResources">
7 V) n6 s: A7 |5 D- u - <list>
3 _# W+ }4 M! ` - <value>org/matrix/conf/ExamType.hbm.xml</value>
4 l3 g' x& k9 ^ - <value>org/matrix/conf/Admin.hbm.xml</value>5 E7 d- I6 T( Q. A$ ^3 J5 E" Q
- <value>org/matrix/conf/Question.hbm.xml</value>
* L' }/ Q& Y3 J* _! Z; K C, z1 w5 N - <value>org/matrix/conf/Student.hbm.xml</value>4 E' |' d! l. p2 T2 O2 L
- </list>
: q V" ~; ]* d- K3 {" ]$ t' _0 h - </property>
. p- H5 ]% A f j) I7 I! A3 S - <property name="hibernateProperties">7 N% d$ [! A6 Z8 Z: @! P
- <props>
' ?# ~% A. C2 a( s" M& s - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
( s! H' q" [8 ? - <prop key="show_sql">true</prop>/ } w; |3 f" R7 g& ^0 E! }8 `" Z
- <prop key="hibernate.hbm2ddl.auto">update</prop>: L% o) x$ }3 i7 N, |
- <prop key="hibernate.jdbc.batch_size">20</prop> , A4 }( b! w# d
- </props>
9 I3 T. w9 v# `1 ?4 C( e: D" j - </property>
( [* U- c7 S0 [3 ^0 o6 |! Y: S3 A - </bean>! v& ~) d; r0 K/ n S6 g3 f; u" Q
* ~2 f6 Y: G$ v( Q- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
( K! C. E+ y! Z+ t* J1 T - <property name="sessionFactory" ref="sessionFactory"/>8 u- u: R j5 m6 D5 U
- </bean>
( Z5 F/ R) o/ ]. w8 g; } - % n+ H1 @7 i% X. N4 Z- R/ S
- <bean id="transactionInterceptor"
* {6 n6 z. q' f/ p - class="org.springframework.transaction.interceptor.TransactionInterceptor">! j' n6 {& j# }$ t% _" J) p
- <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->4 U7 g+ p: c B1 ^
- <property name="transactionManager" ref="transactionManager"/>2 ]! X+ o6 i8 f* M5 e, D' p
- <property name="transactionAttributes">" X+ h* u5 }! b. k( Q! ^3 [
- <!-- 下面定义事务传播属性 -->2 _+ i$ r7 J9 n6 _
- <props>8 K4 l( X5 [) {1 W% u
- <prop key="insert*">PROPAGATION_REQUIRED</prop>" `) y, p$ a- Q! z
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
. c. ^, y( k$ O. ~4 F; h- L - <prop key="*">PROPAGATION_REQUIRED</prop>
3 f* U/ q% W, o - </props>) g- G( F5 \$ R
- </property>$ Z8 V( X; z2 o: e# @
- </bean>7 D8 |9 ]/ [) [( s! Y, A
0 K+ i) I+ r; u& D$ t: m- <!-- 定义业务逻辑处理组件 -->5 b- M p4 S* v! w* ~/ ^. V( c
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">. z5 b& x" l2 e( c! `! ?
- <property name="adminDao" ref="AdminDao"/>: ^8 F, R( {, }
- <property name="studentDao" ref="StudentDao"/>3 `) B% z5 S$ S% c7 N# y3 m" {. i' u+ B
- <property name="examTypeDao" ref="ExamTypeDao"/>" `4 y6 c3 R- l1 ]" i
- <property name="questionDao" ref="QuestionDao"/>* g; d1 @* E5 B$ ?
- </bean>
7 x; h7 c) L" E: [2 \$ O$ y - % y0 X( E% I3 o1 i' M; _2 L
- <!-- 定义BeanNameAutoProxyCreator --> D) B, I8 h; H% A+ g( T
- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">. z4 g( Y# J+ F. h9 I# m& \
- <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->& i! @' s- Y# o, e3 H8 p
- <property name="beanNames">2 E- O: ], c6 Z- i. G' ]) `
- <!-- 下面是所有需要自动创建事务代理的Bean-->
+ b' J1 }" L' m5 @: y# V' v, H# r - <list>
$ E; j5 n: X- F6 I - <value>examService</value>
, l& S% V8 {5 I - </list>
# W! }% {4 j) G7 N- @' s4 w. ^$ f) z6 U2 c - <!-- 此处可增加其他需要自动创建事务代理的Bean-->0 S) d/ R# e- I8 P
- </property>
0 u: C5 ~ c6 y; ?7 ? - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
3 ]/ x- f1 G Y& X1 J* T - <property name="interceptorNames">1 p1 U/ k) W! B) f( T6 U
- <list>
" ~- r3 g$ g$ O! A6 R: s E - <value>transactionInterceptor</value>1 p7 d, f6 N; ~: A% U# j0 S, q6 j x/ E" K
- <!-- 此处可增加其他新的Interceptor -->' o8 K2 v/ |& w+ F1 o9 E' r! o( a
- </list>
8 L$ f) l1 n6 {% Y; M3 G+ G- J' y - </property>9 B( `; V% ~ b( a2 _0 |1 u
- </bean>
复制代码 6 s+ D7 H( f( y( ]; p
8 X& t3 h( V3 P, T) M
+ \ c, z+ W1 b/ n0 Z- ^
8 i2 }- X$ u% L4 P' e0 M
2 K, \6 v* O# C
项目源码下载地址:1 p6 Z% c6 s2 l) ]. {% N+ n+ k
3 I& m; p2 q: C9 S* ]/ M- `5 N; V
# ]" s0 U, S) Y; b$ ]2 U8 L M3 t( h: K8 |; ^
' z7 g& y' e* f& N
" N$ f- h3 D+ q8 F |
|