发表于: 2018-04-03 16:47:53
1 752
今天完成的事情:
- 12.下载Java 7,并配置环境变量,百度搜索一下JDK和JRE的区别,并将结论用自己的话写在日报中。
- 13.下载Maven3,并配置好环境变量。
- 14.下载Eclipse或者是IDEA,配置好Maven。IDEA不用配置Maven,Eclipse也分自带或者外部,推荐使用外部Maven。
- 15.创建一个新的maven项目
- 16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
- 17.编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
Java 7:Java的1.7版本
我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
JVM:java虚拟机,属于JRE的一部分,虚拟出来的计算机(包含JAVA栈,堆,本地方法栈,程序计数器,方法区),用于实现跨平台。
JRE:JAVA平台(包含JVM,JAVA核心类库和支持文件),属于JDK的一部分,是JAVA程序运行的环境
JDK:用于开发JAVA程序,包含(JRE,JAVAC编译器,开发工具。。。)
Maven3:Maven的核心功能便是合理叙述项目间的依赖关系,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。maven项目就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。最终的目的就是学会如何在pom.xml中配置获取到我们想要的jar包。
通过groupId、artifactId、version三个属性就能定位一个jar包junit的maven项目中的pom.xml文件就会有三个标识符,然后别的maven项目就能通过这三个属性来找到junit项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性值的。
通过pom.xml中的配置,就能够获取到想要的jar包,仓库分为:本地仓库、第三方仓库(私服)、中央仓库。
本地仓库:Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository下。一般我们会修改本地仓库位置,自己创建一个文件夹,在从网上下载一个拥有相对完整的所有jar包的结合,都丢到本地仓库中,然后每次写项目,直接从本地仓库里拿就行了。
第三方仓库(又称为内部中心仓库,也称为私服):一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问,一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。)
中央仓库:Maven内置了远程公用仓库。这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主。工程依赖的jar包如果本地仓库没有,默认从中央仓库下载
获取jar包的过程:先从本地仓库获取。如果找不到而配置有私服,就通过局域网从私服获取。如果私服也找不到,就通过互联网从中央仓库获取,获取后会自己下载到本地仓库,下次使用时会直接从本地仓库获取。
Eclipse:JAVA的编程开发软件,自带的maven是方便在eclipse操作maven的插件,并不是maven。为了提高工作效率(最显著的一点就是各种框架jar包的管理 ,如果没有maven的依赖管理 ,比果你下载了一个A.jar,A.jar可能又依赖了10几个jar,你是必要将这10几个jar都导入项目的classpath中,如果使用maven的依赖管理,你只需要在pom.xml中声明对A.jar的依赖就可以了,其他A.jar的子依赖会自动导入),所以需要配置maven。
IDEA:java语言开发的集成环境(编程软件),IDEA中有内嵌某个特定版本的maven,一般不需要再配置maven。
Tomacat:这个软件用来装载你的javaweb程序,可以称它为web容器。你的jsp/servlet程序需要运行在Web容器上,Web容器有很多种,JBoss、WebLogic等等,Tomcat是其中一种。万维网本质上就是“超文本文档”(HTML文档)组成的一个通过超级链接互相访问交互网络。你从甲计算机上的文档A通过超链接访问乙计算机上的文档B,而B必须放在Web服务器(Tomacat)里才能被访问。
Web服务器:能够为发出请求的浏览器提供文档的程序。(服务请是被动程序,只有浏览器发出请求时才会有反应)
URL:统一资源定位符
资源位置:用于描述web资源在服务器的位置
浏览器要获得某个资源则根据URL找到某个计算机,计算机得通过WEB服务器程序将资源传输回浏览器。
DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。
在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。
用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
JDBC:JAVA数据库连接,用JAVA语言来操作数据库。JDBC是用JAVA语言向数据库发送SQL语句。
JDBC的原理:SUN公司提供的一套访问数据库的规范(接口)和连接数据库的协议标注。然后各数据库的厂商会根据SUN的规范(JDBC)提供一套访问自己数据库的API(驱动)。
JDBC连接到MYSQL数据库:
1. 下载MYSQL驱动包
导入到web/WEB-INF/lib文件夹中
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class jdbc {
public static void main(String args[])throws SQLException,ClassNotFoundException {
//1.注册MYSQL数据库驱动
// Driver driver=new com.mysql.jdbc.Driver();//驱动器的类
// DriverManager.registerDriver(driver);(驱动管理器的类,注册的方法:将MYSQL的数据库注册到JDBC上)
Class.forName("com.mysql.jdbc.Driver");//Driver类中的静态代码块中已经有注册代码,只需要加载一个类就可以的(反射)
//2.获得数据库的连接(url:用来连接数据库的"网址",username:登录数据库的用户名,password:登录数据库的密码)
// mysql的url:jdbc:mysql://localhost:3306/数据库名字 localhost:本地主机
String url1="jdbc:mysql://localhost:3306/mall";
Connection connection=DriverManager.getConnection(url1,"root","root");//驱动管理器中获得数据库的方法
//获得数据库的方法时会返回一个数据库连接的对象
connection.close();
}
}
详解数据库连接的URL的写法及总结
JDBC的URL=协议名+子协议名+数据源名。
a .协议名总是“jdbc”。
b .子协议名由JDBC驱动程序的编写者决定。
c .数据源名也可能包含用户与口令等信息;这些信息也可单独提供。
几种常见的数据库连接
1 —oracle—
驱动:Oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@machine_name:port:dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1521
2 —mysql—
驱动:com.MySQL.jdbc.Driver
URL:jdbc:mysql://machine_name:port/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认3306
3 —SQL Server—
驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1433
4 —DB2—
驱动:com.ibm.db2.jdbc.app.DB2Driver
URL:jdbc:db2://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是5000
遇到的问题:这几天一直在下软件,查资料,改设置,然后卡在了下面这个报错这里了。MYSQL的驱动包也换了很多个版本,一直都有这个问题
明天计划的事情:先把Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver这个报错解决了,再继续下面的步骤吧
评论