TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
java在线考试系统SSH框架:( G# e$ p' Z9 R2 G- J/ Z' m. G
模块:试题数据管理(添加考试类型、添加全部试题、添加试题)3 l6 b: U( P9 M8 P
考生数据管理(浏览全部考生、添加考生数据)
9 f) }7 |0 g. Y: k5 o4 f数据表:admin examtype question student: p" U/ N1 B7 M0 B f5 {5 {
1 W$ E0 L1 n/ }( @% ~# {appContext.xml数据库配置:9 x0 ~. d- z- B, g) ]
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
& j, G7 w' ~! Z8 [5 v3 r - <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">( x2 T! X {4 d5 ~5 F7 x
- <!-- 指定连接数据库的驱动 -->, H$ J& V. V0 X4 C4 x
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>& a3 j: |4 [$ b$ P
- <!-- 指定连接数据库的URL -->
& F0 i0 h0 ~+ U% q% a8 s0 Y - <property name="jdbcUrl" value="jdbc:mysql://localhost/onlinexam"/>
) U) E4 ]" u6 H, g1 |( g) |( D - <!-- 指定连接数据库的用户名 -->
5 m& r! \1 g( x - <property name="user" value="root"/>
# T; L6 q: v0 L! z3 b2 R' d8 ? - <!-- 指定连接数据库的密码 -->
- B, h6 c, Y+ B/ d" H# c - <property name="password" value="root"/>
& ?; n2 ^% V3 s1 h& G. l - <!-- 指定连接数据库连接池的最大连接数 -->
/ g! p1 i2 j9 x- C! o _. P4 t - <property name="maxPoolSize" value="40"/>& A1 }. L# U \7 e/ {
- <!-- 指定连接数据库连接池的最小连接数 -->
: a9 R5 u5 P1 e& S$ o1 |; A# @ - <property name="minPoolSize" value="1"/>
, r+ _0 I" h6 G( B( j0 N - <!-- 指定连接数据库连接池的初始化连接数 -->
3 t8 ~0 ?6 Z" P4 n) A5 o% z - <property name="initialPoolSize" value="1"/>
. z. }( _3 |# U# |" T7 z4 O - <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
6 r9 n/ E J$ ? - <property name="maxIdleTime" value="20"/>
1 ^8 D- s, ]! z' H* r - </bean>
' P: o- p( s+ z
7 P, j9 I: p f7 }1 R- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
% S' u2 k2 D: o/ j - <property name="dataSource" ref="dataSource"/>
x1 `* N" c6 z% w: W - <property name="mappingResources">1 c$ g: D! P; Y# q
- <list>/ T b3 T, l: v/ ?* O: H
- <value>org/matrix/conf/ExamType.hbm.xml</value>
) g" x" T3 h- l, U- i! J! A - <value>org/matrix/conf/Admin.hbm.xml</value>) K7 E4 }+ S* F0 E _+ W! z% r G" x
- <value>org/matrix/conf/Question.hbm.xml</value>
: s+ X1 [5 S: C; p - <value>org/matrix/conf/Student.hbm.xml</value>$ }+ f; }* A$ i( ?: W% L
- </list>4 W8 M9 A0 b6 L- H0 Z" p
- </property>
9 r0 G6 v( J- E1 Q' h9 M5 J - <property name="hibernateProperties">6 ]8 z- O! J% P, q, X& ] k5 d, c6 Q. _
- <props>
$ f* i; E, S" m, h- x" f8 q - <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
6 s" U0 V7 W: d+ I. M - <prop key="show_sql">true</prop>
1 r& l. w. X* K) h+ E# s - <prop key="hibernate.hbm2ddl.auto">update</prop>
1 y/ k' z; j& e4 h4 C) y - <prop key="hibernate.jdbc.batch_size">20</prop> 1 ^/ W3 t/ F/ _" N3 t, B1 i$ V
- </props>4 g* ^8 ^" H X4 w
- </property>
4 X4 E6 ~0 T( W. l" t5 f) z - </bean>
$ v9 c' f' W) _4 k' A - ! b o( w( \/ {. Q
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">1 `' [2 I! W& s5 ^
- <property name="sessionFactory" ref="sessionFactory"/>
1 A L% h: J- m- N) h6 r# R; K - </bean>
8 d, z+ f5 n$ o% W& p- d# H
$ E$ {; b: y' ~' _/ g- <bean id="transactionInterceptor"- n7 @3 Y7 s* d( Q8 _5 ]4 [
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
; O5 c+ P* D9 w* `( d) y" b - <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->4 `9 p5 Y, _* \6 h8 V7 ^7 y+ d' P1 u
- <property name="transactionManager" ref="transactionManager"/>5 S; Y- a, o2 `- [ p# @
- <property name="transactionAttributes">5 W) @, M! M5 }, w! T
- <!-- 下面定义事务传播属性 -->
1 v* q9 x6 r! S4 S+ J+ ?/ F0 h8 ]1 O - <props>9 i6 c6 n3 V; B; P5 n
- <prop key="insert*">PROPAGATION_REQUIRED</prop>7 ^* J5 \9 A* b8 ?5 p( }
- <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
$ p1 M1 R/ {# N$ j4 z. c* R( i8 U5 J - <prop key="*">PROPAGATION_REQUIRED</prop>
+ y. O% Z* w- z+ k - </props>' U8 e! z: E& O' x6 P4 @ `
- </property>' {& N L% I i8 h( Z
- </bean>
* p( ?' J& a' e: ]6 a5 O d3 ~/ J
+ c) p$ c4 w; d; X4 s- <!-- 定义业务逻辑处理组件 -->: P+ ^0 P% v: s+ R6 z
- <bean id="examService" class="org.matrix.service.impl.ExamServiceImpl">
$ t" l! |5 q) k - <property name="adminDao" ref="AdminDao"/>' a+ Y5 v* C/ N9 q6 x
- <property name="studentDao" ref="StudentDao"/>/ {- I6 \. D @' `
- <property name="examTypeDao" ref="ExamTypeDao"/>
7 A! T! n6 ^ I, t - <property name="questionDao" ref="QuestionDao"/>1 m0 V5 i1 Z7 k8 @$ V
- </bean>9 ~. s* }: Z4 Z8 @1 R
) s. v- L. ` t- L" N& O7 Z3 J- <!-- 定义BeanNameAutoProxyCreator -->
# z. f2 g2 I( R5 P6 J6 A5 r - <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
4 {. t, F) b( v- v; [ - <!-- 指定对满足哪些Bean name的Bean自动生成业务代理 -->* r& s# _' t j6 z
- <property name="beanNames">( n7 J' i9 W; d. s& Z+ w1 E; v. Z
- <!-- 下面是所有需要自动创建事务代理的Bean-->$ K. _2 [. B- w" |
- <list>
! {+ ?( L2 T+ }; g7 y5 o0 ]5 B - <value>examService</value>
( M7 o) S7 _. S5 k) Q Z2 G - </list>
9 @: z/ ^+ H. U% X' u/ z - <!-- 此处可增加其他需要自动创建事务代理的Bean-->
7 J' ^! G: R7 |% X0 s1 Z8 r; ^+ C - </property>
( q& }' n) [0 ^/ J* _4 L0 { - <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->5 C: ~7 `% V! F# J6 w; O
- <property name="interceptorNames">. i m: o! `5 \+ k! d; }
- <list>+ w d. _* A! E% ?* x# }! b
- <value>transactionInterceptor</value>9 L- L! B0 q, G& g' y' Q0 U
- <!-- 此处可增加其他新的Interceptor --> A. X6 g0 R: o; f
- </list>
2 t0 k& `/ W4 l, `" M/ r" J - </property>$ b7 i2 d5 N2 _/ r3 p
- </bean>
复制代码
. p& h, T3 {6 n/ S+ C* @
: k. H7 `2 q1 n
* v4 v; n- J+ u
+ K& O2 O5 E' ~! g1 F! I; P
% u J3 N* b# r0 }; ^项目源码下载地址:' y6 C$ U# _9 j: {
5 B4 s0 [& q. w* B0 H, J
6 x, n& g. \$ Y9 O2 U0 |, U/ `- H
2 `" [2 r/ K5 Y% n5 x; h% @/ u. A; P4 E n& e
* e4 D+ P) R" v3 s6 z: v' \+ V5 ~
|
|