发表于: 2017-07-21 19:28:35
2 843
今天:
求阶乘:
public static void a(int n) {
int s = 1 ;
for(int i = 1 ; i <= 30 ; i++) {
s *= i ;
}
}
public static void b(int n) {
int sum = 0 ;
for(int i = 1 ; i <= 30 ; i++) {
sum += a(i) ;
}
}
jdbc 连接数据库
package com.jinhege.web.testMavenWeb;
import java.sql.*;
public class test {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test"
+ "?severTimeZone=UTC&characterEncoding=utf-8&&useSSL=false";
static final String USER = "root";
static final String PASS = "jinhege";
public static void main(String[] args) throws SQLException {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("连接数据库...");
} catch (ClassNotFoundException e) {
System.out.println("No jdbc driver ");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
} catch (SQLException e) {
System.out.println("DataBase connect failure!");
e.printStackTrace();
}
Statement stmt = null;
String sql = "select *from user ";
ResultSet resul = null;
try {
stmt = conn.createStatement();
resul = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println("Statement create failure!");
e.printStackTrace();
}
System.out.println("查询的结果如下:"
+ "");
while (resul.next()) {
System.out.println("user_id:" + resul.getString("user_id") + ",user_name:" + resul.getString("user_name")
+ ",user_sex:" + resul.getString("user_sex"));
}
/*sql = "insert into user(user_id,user_name,user_sex) "
+ "values('1','金禾哥','男')";
int i = 0;
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
if (i == -1) {
System.out.println("插入失败");
} else {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
}*/
}
}
实现Interface和implements分离没有做出来,看了一些日报,还是搞不懂,先放下这个,往后学吧。
JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语言编程中与数据库连接的API。
JDBC库包括通常与数据库使用相关,如下面提到的每个任务的API -
连接到数据库
创建SQL或MySQL语句
在数据库中执行SQL或MySQL查询
查看和修改结果记录
从根本上说,JDBC是一个规范,它提供了一整套接口,允许以一种可移植的访问底层数据库API。 Java可以用它来编写不同类型的可执行文件,所有这些不同的可执行文件都能够使用JDBC驱动程序来访问数据库,并用于存储数据到数据库中。
接口(Interface):
主要用来描述类具有什么功能,而并不给出每个功能的具体实现。接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。
一个类可以实现(implement)一个或多个接口,并在需要接口的地方,使用实现了相应接口的对象
junit
JUnit是用于编写和运行可重复的自动化测试的开源测试框架, 这样可以保证代码按预期工作。JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的Java程序。
JUnit的特点
JUnit是用于编写和运行测试的开源框架。
提供了注释,以确定测试方法。
提供断言测试预期结果。
提供了测试运行的运行测试。
JUnit测试让您可以更快地编写代码,提高质量
JUnit是优雅简洁。它是不那么复杂以及不需要花费太多的时间。
JUnit测试可以自动运行,检查自己的结果,并提供即时反馈。没有必要通过测试结果报告来手动梳理。
JUnit测试可以组织成测试套件包含测试案例,甚至其他测试套件。
Junit显示测试进度的,如果测试是没有问题条形是绿色的,测试失败则会变成红色。
待测试类
测试类
测试结果 bug(死循环)测出
明天 继续学习junit
深度思考
1.maven是什么,和Ant有什么区别?
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置
Ant 为 Java 技术开发项目提供跨平台构建任务。
Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。总的来说:
第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更便于使用。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的include 所有的jar。导致的最终结果就是开发者无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,操作更繁琐。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
2.clean,install,package,deploy分别代表什么含义?
“mvn clean” 来清理项目 “mvn install” 打包和部署项目到本地资源库
“mvn package” 来构建项目 “mvn site-deploy” 通过WebDAV部署自动生成的文档站点到服务器 “mvn tomcat:deploy” 以 WAR 文件部署到 Tomcat “mvn site” 来为您的项目生成信息文档站点
评论