Keep Learning

伪程序员记录点滴

Tomcat MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
org.apache.jasper.JasperException: javax.servlet.ServletException: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

<!--more-->
java.net.SocketException: java.net.ConnectException: Connection refused
  at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
  at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
  at com.mysql.jdbc.Connection.createNewIO(Connection.java:2641)
  at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
  at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
  at java.sql.DriverManager.getConnection(DriverManager.java:579)
  at java.sql.DriverManager.getConnection(DriverManager.java:243)
  at org.apache.jsp.testSQL1_jsp._jspService(testSQL1_jsp.java:77)
  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:722)


** END NESTED EXCEPTION **

在使用tomcat与mysql时,出现了上述错误,原因是由于mysql中的配置中禁用了网络的连接。在arch环境下,通过编辑/etc/mysql/my.cnf文件,将skip-networking这个选项注释掉即可。

Learning SQL CH9

子查询

可以用于4种SQL语句中。

什么是子查询

子查询是包含在另一个SQL语句内部的查询。子查询总是由括号括起来,并且通常在包含语句之前执行。 子查询可以返回的结果集为:

  • 单列单行
  • 单列多行
  • 多列多行

当子查询的结果为单列单行时,它可以被用作等式的一个条件中的一个表达式,如果返回结果多于一行,它可以被比较,不能被用于等式判断)。

Learning SQL Ch8

分组与聚集

使用GROUP来完成分组的功能,如下图所示:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> SELECT open_emp_id
    -> FROM account
    -> GROUP BY open_emp_id;
+-------------+
| open_emp_id |
+-------------+
|           1 |
|          10 |
|          13 |
|          16 |
+-------------+
4 rows in set (0.00 sec)

COUNT()称为聚集函数,可以计算每个分组的行数,如下面的例子所示。本例相对于上例来说仅仅添加了COUNT()函数来完成聚集功能。

Learning SQL Ch7

CH7 数据生成、转换和操作

使用字符串数据

字符类型有CHAR,VARCHAR,TEXT类型,各种的范围不同,第二章中有详细的说明。 创建一个仅仅包含字符的表如下所示:

Create_table
1
2
3
4
5
mysql> CREATE TABLE string_tbl
    -> (char_fld CHAR(30),
    -> vchar_fld VARCHAR(30),
    -> text_fld TEXT
    -> );

Markdown基本使用

链接

如果需要在页面插入链接,使用尖括号<>括起来便可以了。

如果需要为一段文字加上链接,使用如下方式 文字,google href=”http://”

为链接加上标题可如下所示 文字,google

链接 按照上述方式,在文章中另起一行,通常是在文章的末尾,添加

[lable1]:http://www.google.com

将对应的链接完成即可。注意使用的是中括号和一个冒号,后面添加对应的链接地址。

Learning SQL(ch4-ch6)

CH4 过滤

在所有的SQL数据处理语句中(insert语句除外)都包含了可选的where子句,其中的过滤条件限制了SQL语句所需要的行数。select子句中包含的having子句也可以对分组数据进行条件过滤。

条件评估

使用圆括号

当含有多个条件时,各个条件应该使用圆括号括起来。

Learning SQL(ch1-ch3)

CH1 背景知识

术语

术 语 定义
实 体 数据库用户所关注的对象,如顾客、部门、地理等。
存储在表中的独立数据片段。
所有列的一个集合,完整地描述了一个实体或实体上的某种行为,也称之为记录。
行的集合,既可以保存在内存中(未持久化),也可以保存在存储设备中(已持久化)。
结果表 未持久化的表的另一个名字,一般为查询的结果。
主 键 用于唯一标识表中每个行的一个或多个列。
外 键 一个或多个用于标识其他表中某一行的列。

SQL语句分类

通过SQL方案语句所创建的所有数据库元素都被存储在一个特殊的表集合,即数据字典中。

Markdown基本语法学习

markdown基本语法

摘抄自http://wowubuntu.com/markdown/

宗旨

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。