发表于: 2017-12-08 19:15:20

1 804


今天完成的事情:

1、通过增加数据库中的记录数,测试了一下索引对数据库性能的影响,结果如 [图1] 所示:

图1 索引对数据库插入检索数据的影响

测试条件:数据库中一条记录有两个属性 分别是 id 和 name ,其中 id 从 0 自增,name 则为 "王" + id ,总共有 95W 条记录。索引添加在 name 上。

单从所用时间看 添加索引 似乎对于 [插入数据] 没有太多影响,而对于 [检索数据] 则影响很大,能够有效提升检索的效率。

从查询的资料来看,提及提高检索效率的占多数,与之相关的热门话题就是 数据库的 [性能分析优化]。而提到对于插入的影响的文章则少很多...

参考1 = http://blogs.360.cn/360qa/2013/05/24/性能测试中sql索引引起的性能问题-2

参考2 = https://www.cnblogs.com/chenshishuo/p/5030029.html

2、简单复习了一下 [DAO]

DAO = {

english = Data Access Object

说明 = 程序中专门用于处理访问数据库的模块。至少应该包含基本的 [CRUD] 操作。

}

CRUD = {

说明 = 增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete) 的英文首字母。

}

[CRUD] 作为 [DAO] 的最基本操作,所对应的基本流程如 [图2] 所示:

图2 CRUD 的基本执行流程

可以看到,在编码上 插入、修改、查询 可以写成一个方法,而查询则与它们不同,区别在于所用的 [执行语句]。

有三个基本的执行语句,分别是:

execute()、executeUpdate()、executeQuery()

 1. ResultSet executeQuery(String sql); 执行SQL查询,并返回 [ResultSet] 对象。

 2. int executeUpdate(String sql); 可执行,返回执行受到影响的行数。

 3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回 [ResultSet] 。

需要做的事情 和 想要的结果 决定了你要使用的 [执行语句]。

如果仅用于执行简单的 [CRUD] 操作,很明显 只用 executeUpdate() 和 executeQuery() 就足够了。

参考1 = https://www.cnblogs.com/bukudekong/archive/2011/06/22/2086531.html

参考2 = https://kanghao126.iteye.com/blog/134697

此外,如何 [管理数据库的链接资源] 是一个值得思考的地方,你可以用数据库连接池 如 [C3P0] 或 [DBCP] 等... 

除此之外,[结果的处理] 也是值得仔细思考的地方。例如对于查询而言,如何把多个结果转化为 [对象的列表] ,同时保证这个方法的通用性,可能就需要 [反射] 或 [JavaBean] 方面的东西。

好在...这些 复杂、重复 而又 不关乎 业务重点的部分 早就有前人造好了 轮子 等着我们去用,然而目前我还不会 = =||

3、Maven 3 的基本配置与基本使用

看了介绍觉得 [Maven] 真的是个好东西...可以用来 [管理] [下载] 依赖包,想想以前自己写东西都是从官网一个一个的下...有时候找半天还找不到下载的地方...唉...

可实际用起来还是觉得有一些不满意的地方。

(1).从官网下载 [Maven 3

Maven 需要 [JDK] 的支持,之前已经安装过了,所以没有遇到这个问题。

官网链接 = http://maven.apache.org/download.cgi

然后如 [图3] 所示,下载 apache-maven-3.5.2-bin.zip 

图3 Maven 3 官网对应文件

(2).安装与配置

解压到合适的位置...

我解压到了 C:\Program Files (x86)\apache-maven-3.5.2 

然后在 [环境变量] 中将 C:\Program Files (x86)\apache-maven-3.5.2\bin 添加到 [Path] 中,这样在 [系统命令行] 中就可以通过 mvn 命令使用 Maven 了

这里 使用 mvn -v 查看 Maven 的一些信息,如 [图4] 所示:

图4 mvn -v 命令显示 Maven 相关信息

通常很少单独使用 Maven ,一般是在 [IDE] 中使用,我是用的是 [Eclipse] 所以要在 Eclipse 中添加 Maven 3

添加步骤:Eclipse 界面 -> Windows -> Preferences -> Maven -> Installation -> Add

如 [图5] 所示:

图5 Eclipse中设置 Maven 路径

配置方面,需要修改 C:\Program Files (x86)\apache-maven-3.5.2\conf 目录下的 [settings.xml] 文件

首先修改 [本地仓库] 的 [位置] 大约在 49 开始 54 结束,原始内容如下:

  <!-- localRepository

   | The path to the local repository maven will use to store artifacts.

   |

   | Default: ${user.home}/.m2/repository

  <localRepository>/path/to/local/repo</localRepository>

  -->

这里我把 [仓库] 设定在了 D:/Maven/repository 目录下,修改后的内容如下:

  <!-- localRepository

   | The path to the local repository maven will use to store artifacts.

   |

   | Default: ${user.home}/.m2/repository

  -->

  <localRepository>D:/Maven/repository</localRepository>

之后对下载源进行修改, 大约在 setting.xml 文件的 146159,目的是提高下载速度。

原始内容如下:

  <mirrors>

    <!-- mirror

     | Specifies a repository mirror site to use instead of a given repository. The repository that

     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used

     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.

     |

    <mirror>

      <id>mirrorId</id>

      <mirrorOf>repositoryId</mirrorOf>

      <name>Human Readable Name for this Mirror.</name>

      <url>http://my.repository.com/repo/path</url>

    </mirror>

     -->

  </mirrors>

根据范例添加一个,目前国内阿里提供的源是很不错的。

添加后的内容如下:

  <mirrors>

    <!-- mirror

     | Specifies a repository mirror site to use instead of a given repository. The repository that

     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used

     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.

     |

    <mirror>

      <id>mirrorId</id>

      <mirrorOf>repositoryId</mirrorOf>

      <name>Human Readable Name for this Mirror.</name>

      <url>http://my.repository.com/repo/path</url>

    </mirror>

     -->

     <mirror>

      <id>ali</id>

      <mirrorOf>central</mirrorOf>

      <name>aliyun maven</name>

      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

    </mirror>

  </mirrors>

保存,然后在 Eclipse 中加载 Maven 的 [配置文件]

加载步骤:Eclipse 界面 -> Windows -> Preferences -> Maven -> User Settings

如 [图6] 所示

图6 Eclipse 加载 Maven 配置文件

这样 就配置完毕了。

(3).基本使用

新建一个 Maven 项目


在 [pom.xml] 文件中添加 spring 


执行 clean install


参考1 = http://www.cnblogs.com/sunddenly/p/4340121.html

参考2 = http://how2j.cn/k/maven/maven-eclipse-setting/1335.html

参考3 = http://www.yiibai.com/maven/maven_eclispe_ide.html

明天计划的事情

学习下 [Spring] 的基础,尝试用 [Spring] 提供的 [JDBC Template]

遇到的问题:

1、Maven 的 [pom.xml] 添加依赖包的时候 不知道 [Group Id] 和 [Artifact Id]

这也是我认为 Maven 有不方便的地方。 

当然也可能是因为我用的少,不够熟悉,或者以后会有专门的人负责这部分...或者我的使用方式有问题...

后来发现有可以提供 [依赖包查询] 的功能的网站

地址 = http://maven.aliyun.com/nexus/

这个可以直接查询到某个 依赖包在 [pom.xml] 文件的写法。

不过我还是觉得应该提供一个 [本地搜索] 和 [网络搜索] 依赖包的功能:

网站提供所有依赖包的 [信息文件],并且提供模糊查询功能,并且根据热度提供排序,除非有重大更新。

每次通过网络查询的时候都先获取这个信息文件的hash值,如果和本地的一样,那就不用更新。

不过也就是想想...

2、刚开始不知道在哪里用 mvn clean install 命令

后来发现有两种方法:

(1).进入 [项目文件夹] 后使用 [系统命令行]

cd /d [项目文件夹

dir (能够看到 [pom.xml] 文件)

mvn clean install

(2).在 Eclipse 中右键项目 Run as -> mvn clean -> mvn install

3、mvn 命令的具体含义...

因为涉及到很多 [软件开发周期] 方面的知识,所以在看到教程有这方面相关东西的时候有点看不懂...

收获:

学习到了 Maven 的基本用法

JDK 和 JRE 的区别:

JDK = {

english = Java Development Kit 

说明 = Java 开发工具包

}

JRE = {

english = Java Runtime Environment

说明 = Java 运行环境

}

参考 = https://www.zhihu.com/question/20317448


返回列表 返回列表
评论

    分享到