犹记当年为了使用java程序连接mysql数据库花费一天时间,最后发现是没有导入外包,如今看来真的发现自己那时有点二,也怪我使用的教科书上没有说明这点(强行甩锅,哈哈)。今天分享出来,,希望后者不因为这点小问题而大费周章。

  首先说下数据库,数据库在操作系统看来其实就是一个服务,mysql在windows服务中叫mysql服务,sqlserver叫sqlserver服务(我们在任务管理器中可以在服务一项中找到我们装到自己机器上的数据库服务),我们使用的toad for mysql等叫数据库管理工具,他们的完成的功能其实就是通过我们的一些点击创建数据库等操作向数据库服务发送sql语句从而完成对数据库的创建库等操作,所以从这个方面看来其实我们自己也可以写一个简单的数据库管理工具。

  不同的数据库和java程序连接时使用的驱动不一样,这儿驱动不是由java所属公司提供,而是有java公司提供连接接口,各个数据库厂商根据自己的数据库特性来写所需的驱动程序(如com.mysql.jdbc.Driver是mysql连接时用的驱动由Oracle公司提供,mysql现在属于oracle了),而java所需完成的操作就是使用连接接口来完成驱动程序的加载以及后期的交互任务。所以要想使用java程序连接数据库第一件事就是去相应数据库公司官网下载相应的jar包(这个很重要,当时我就是因为这个捣鼓了一天)。mysql和sqlserver要用到的jar包我已上传到我的GitHub上了,可以下载(https://github.com/huangxinyuan650/ConnectDatabase/tree/master/extendpackage)

  在有了相应的jar包之后剩下的就是比较有序的操作了,除了加载的驱动不一样剩下的都与数据库的种类无关(当然在涉及到读取的细节上会有稍微的区别在后期会讲到),之后的操作就是

注意在连接前需要把连接数据库的 jar包提前导入到工程下或者直接放到jdk的lib下。

1.使用调用Class类加载驱动(Class.forName(驱动类名路径);),

2.通过DriverManager接口获取数据库连接对象(Connection conn=DriverManager.getConnection(连接字符串,用户名,密码);),

3.至此已经建立起了与数据库的连接,接下来就是获取对数据库操作需要使用到的对象Statement(Statement state = conn.createStatement();)

4.通过statement对象完成对数据库的操作(Query和Update操作,数据库的增删改都是update,查为query),当然在完成查询操作的时候是需要ResultSet对象来接收查询的结果的(ResultSet re=conn.state.executeQuery(cmd);)

完整的连接类我们可以自己归纳出来,方便以后直接调用(连接mysql数据库完整代码)

package hxy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement; public class ConnectMySQL {
Connection conn = null;
Statement state = null;
public ConnectMySQL(){
try{ ///////链接数据库
Class.forName("com.mysql.jdbc.Driver"); //////加载数据库驱动
}
catch(ClassNotFoundException e){
System.out.println(e);
} try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/databasedata", "root", "huang650");
//获取数据库连接对象,其中getConnection方法中第一个参数为连接字符串里面包含数据库url和端口号,第二个参数为数据库用户名,第三个参数为数据库密码
System.out.println("You has connected to Mysql!!!");
state=conn.createStatement(); //////////获取对数据库的操作对象Statement
}
catch(SQLException e){
System.out.print(e);
}
} void close(){
try {
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}

在获取到statement对象后就是通过statement对象完成对数据库的操作,当然在使用完后需要关闭与数据库的连接。

在连接sqlserver数据库的时候只需要把驱动的路径改为com.microsoft.sqlserver.jdbc.SQLServerDriver,然后端口号改为1433,连接字符串前面改成jdbc:sqlserver即可。

Oracle数据库的话好像是有两种连接方式,但原理都是差不多的,有需求的可以自行百度解决,至于详细的对数据库的操作可以直接写传参数到数据库操作对象的方法中,在之后的随笔中还会详细介绍。使用的详细代码在我的GitHub中的项目中都有,有兴趣的可以去看看,欢迎批评指正。https://github.com/huangxinyuan650/ConnectDatabase

Java连接数据库(mysql,sqlserver)的更多相关文章

  1. java 连接数据库mysql的方法

    1.把那个文件配置好环境变量. 2.创建数据库,插入数据 注意的地方: (1)环境变量 classpath(可大写,也可以小写,可放在个人变量,也可以试系统变量) 里面的值 F:\mysql-conn ...

  2. Java连接数据库之SQLServer

    工具: eclipse Microsoft SQL Server SQL Server连接驱动:mssql-jdbc-6.4.0.jre8.jar SQL script代码 CREATE DATABA ...

  3. java连接数据库(sqlserver和mysql)

    java连接sqlserver数据库 废话不多说,直接看代码: public static void main(String[] args) { // TODO Auto-generated meth ...

  4. Java连接数据库之MySQL

    工具: eclipse MySQL Navicat for MySQL MySQL 连接驱动:mysql-connector-java-5.0.4-bin.jar SQL 代码 CREATE TABL ...

  5. java连接数据库(jdbc)的标准规范

    java连接数据库的标准规范 JDBC全称:java database connectivity ,是sun公司提供的Java连接数据库的标准规范. localhost和127.0.0.1 都是表示当 ...

  6. Java连接数据库的辣几句话

    Java连接数据库的辣几句话 1.java连接Oracle数据库 使用以下代码三个步骤: 1.下载ojdbc.jar包并导入项目中.附下载地址:http://download.csdn.net/det ...

  7. java连接mysql

    Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...

  8. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  9. 让Java和MySQL连接起来

    Java 连接 MySQL 需要驱动包,可以下载菜鸟教程提供的 jar 包:http://static.runoob.com/download/mysql-connector-java-5.1.39- ...

随机推荐

  1. 由获取子元素的方法find和children所获

    html代码如下 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww ...

  2. SVG页面loading动态图

    https://github.com/SamHerbert/SVG-Loaders demo http://samherbert.net/svg-loaders/

  3. Quick Cocos2dx 与 EnterFrame事件

    利用EnterFrame做出行走的效果,效果图如下: 具体操作: 1 给self多加一个bg1用作与bg无限循环换位 2 在AnotherScene:onEnter方法里面新增onEnterFrame ...

  4. 3DTouch简单了解

    3D Touch的三大模块 代码Demo:https://github.com/haozheMa/3DTouch 在我们的app中使用3D Touch功能,主要分为以下三个模块: 1.Home Scr ...

  5. 转载:ECMAScript 6简介

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发 ...

  6. lpc1768usb使用-配置

    #ifndef __USBCFG_H__ #define __USBCFG_H__ //#define USB_IF_NUM          1 #define USB_MAX_PACKET0    ...

  7. FZU 1397 保送

    网络流入门题. 源点到每一个学生连一条边,容量为1 每个学校到汇点连一条边,容量为L 符合要求的学生和学校之间连边,容量为1. 从源点到汇点的最大流就是答案. #include<cstdio&g ...

  8. c++ builder 2009如何生成独立运行exe(转)

    参考资料:https://forums.codegear.com/thread.jspa?threadID=13559&tstart=703 查了很多网站资料,说得差不多,但是最后编译出来的还 ...

  9. [转]Go语言(golang)开源项目大全

    内容目录 Astronomy 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...

  10. jenkins 构建时,取消构建测试类

    如图 点击配置,添加clean install  -Dmaven.test.skip=true 保存即可