基于PKI的课程设计选题系统相关笔记
《基于PKI的课程设计选题系统》算是我第一个完全独立完成的项目,虽然功能上面很简单,模块也很少,但是整个项目做下来,期间也有不少收获,现记录如下.
1
在编写Maven配置文件pom.xml的时候,可以在Maven中央仓库(http://search.maven.org/)搜索jar包的相关信息
2
使用阿里巴巴wenshao开发的fastjson库,可以很方便的将一个对象的完整信息以JSON格式输出
3
JSONView是一个JSON格式数据的查看器,小巧的绿色软件,可以配合fastjson使用
4
在eclipse中使用Log4E插件可以方便的进行日志记录操作
5
使用Eclipse创建Maven项目时,需要(可以)修改项目属性中Project Facets(Dynamic Web Module,Java)(依情况选择合适的),Java Build Path(Libraries(JRE System Library))(改为Workspace default JRE),Resource(Text file encoding)(数据库,java文件,jsp文件统一为UTF-8)
6
<!-- 在使用Mybatis-Generator时需要指定数据库表,可以将那些Example属性设为false,就不会生产Example文件,提供一个完整的表描述如下 -->
<table tableName="student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
7
/* log4j配合Spring-test使用,只需在测试类声明前加上如下注解
* 其中"classpath:spring.xml","classpath:spring-mybatis.xml"
* 为Spring配置文件
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring.xml","classpath:spring-mybatis.xml"})
8
<!-- 在SpringMVC中使用commons-fileupload和commons-io进行文件上传时,需要在SpringMVC配置CommonsMultipartResolver Bean -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- <property name="defaultEncoding">
<value>UTF-8</value>
</property> -->
<property name="maxUploadSize">
<value>10000</value>
</property>
<!-- <property name="maxInMemorySize">
<value>4096</value>
</property> -->
</bean>
9
<!-- 自定义Mybatis Mapper文件的ResultMap
一对一关系使用association标签
一对多关系使用collection标签
如下是一个示例,使用extends完成继承 -->
<resultMap type="diseng.github.model.Student" id="NoCourseResultMap" extends="BaseResultMap">
<association property="pki" javaType="diseng.github.model.Pki">
<id property="pid" column="pki_pid" />
<result property="cert" column="pki_cert" />
</association>
</resultMap>
<resultMap type="diseng.github.model.Student" id="loginSelectInfo" extends="NoCourseResultMap">
<collection property="courses" javaType="list" ofType="diseng.github.model.Course">
<id property="cid" column="course_cid" />
<result property="title" column="course_title" />
<result property="amount" column="course_amount" />
<result property="stime" column="course_stime" />
<result property="etime" column="course_etime" />
<result property="info" column="course_info" />
<association property="teacher" javaType="diseng.github.model.Teacher">
<id property="tid" column="teacher_tid" />
<result property="username" column="teacher_username" />
<result property="college" column="teacher_college" />
</association>
</collection>
</resultMap>
10
<!-- Mybatis的Mapper文件中,parameterType可以是Java内置的基础类型,引用类型或者用户自定义的类型
如果启用useGeneratedKeys和keyProperty,则完成数据库操作后,会将生成的id置入到对象中 -->
<insert id="insert" parameterType="diseng.github.model.Student" useGeneratedKeys="true" keyProperty="sid">
insert into student (sid, pid,
username,
college, grade, major,
number)
values (#{sid,jdbcType=INTEGER},
#{pid,jdbcType=INTEGER},
#{username,jdbcType=VARCHAR},
#{college,jdbcType=VARCHAR}, #{grade,jdbcType=CHAR},
#{major,jdbcType=VARCHAR},
#{number,jdbcType=CHAR})
</insert>
11
<!-- 将页面输入的String转换为Date时,需要在SpringMVC配置中为Bean AnnotationMethodHandlerAdapter设定webBindingInitializer -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->
</list>
</property>
<property name="webBindingInitializer">
<bean
class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="conversionService">
<bean
class="org.springframework.format.support.FormattingConversionServiceFactoryBean"></bean>
</property>
</bean>
</property>
</bean>
12
/* ~~ 使用jstl/fmt标签,以让JSP中显示Date为yyyy-MM-dd格式 ~~ */
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<fmt:formatDate pattern="yyyy-MM-dd" value="${course.stime}" />
blog comments powered by Disqus
Published
27 May 2013