发表于: 2017-06-17 22:54:56

1 1092


今天完成的事情

任务24-29,任务1基本完成了,但有很多细节没有顾及。在云服务器上跑通了main。

测试一下不关闭连接池的时候,在Main函数里写1000个循环调用会出现什么情况:写了1000个CURD的循环,没出现什么情况,就是速度非常慢

测试一下连接DB中断后TryCatch是否能正常处理:ORM的代码换成了mybatis,JDBC的代码删掉了,没法测试TryCatch

检查一下自己的代码是否符合规范,如果DB的表格有改动,应该改哪些内容,需要多久:回头看之前设计的DB,发现少了很多东西,之前也没理解一对多之类的关系,业务模型非常简陋。明天写任务小结的时候重新写一下。

数据库里插入100万条数据,对比建索引和不建索引的效率查别:建立索引的话,插入数据的速度会变慢,因此最好先插入完数据再建立索引。三千万和两亿条数据的没做测试等不下去了。

遇到的问题

1.昨天的bug解决了,但还是很诡异,是由于一个spring-jdbc包的问题,在服务器上4.3和5.0的版本都编译不过,换成4.25就好了。但在本地的项目上无论什版本都能编译通过。

2.另一个bug是sqlException,原因是忘了在服务器上配置mysql编码,需要在my.ini中设置utf8
昨天误以为是直接将项目复制粘贴过去运行,原来是打成jar包,需要自定义配置文件MANIFEST.MF文件,MANIFEST文件用于描述
版本号,依赖jar包的位置和指定要执行程序的MAIN入口。maven下可以通过maven-jar-plugin插件生成。
其中打包方式可在pom文件中设置<packaging>jar</packaging>
maven-jar-plugin插件的配置如下:
<plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
     <archive> 
      <manifest>                   
       <addClasspath>true</addClasspath> //                         
       <classpathPrefix>lib/</classpathPrefix> //在MANIFEST中配置引用的lib                         
       <mainClass>com.imooc.RunTest</mainClass>//配置主类入口                     
      </manifest>                
     </archive>
    </configuration>
除此之外还需要使用maven-dependency-plugin插件配置lib,将依赖添加到jar包中,否则打出的jar包会报找不到某某类的异常
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
     <execution>
      <id>copy</id>
      <phase>package</phase>
      <goals>
       <goal>copy-dependencies</goal>
      </goals>
      <configuration>
       <outputDirectory>${project.build.directory}/lib</outputDirectory>
      </configuration>
     </execution>
    </executions>
   </plugin>
最后在eclipse中maven build可以跳过单元测试进行打包。
最后项目在本地就可以打成jar包,也可以正常执行MAIN,完全没有问题。放到服务器上死活就是不行,连jar都打不出来全是bug,最后发现是没把lib加过去。
最后在服务器上跑通了CURD,但另外一个全部查询的方法总是出问题,耗了一下午,本地没问题100W能全查出来,放到服务器上就是不行报异常估计要解决只能重装服务器系统了。

收获

maven理解更深,了解了maven的打包(jar/war/pom)和打包插件(maven-jar-plugin/maven-dependency-plugin),了解了索引的建立方法(alter table tbl_name add index index_name(字段名)),了解了github desktop的使用方法,将代码上传到了github


返回列表 返回列表
评论

    分享到