犹记当年为了使用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. mongoose的virtual属性

    设置vitual属性 personSchema.virtual('name.full').get(function () { return this.name.first + ' ' + this.n ...

  2. Java笔记(二)

    10.   public protected default private 同一个类中 √ √ √ √ 同一个包中 √ √ √   子类 √ √     不同包中 √       11. 线程: s ...

  3. ShaderLab 之 UNITY_INITIALIZE_OUTPUT

    在 HLSLSupport.cginc 文件中定义了此宏: #if defined(UNITY_COMPILER_HLSL) #define UNITY_INITIALIZE_OUTPUT(type, ...

  4. 乘方快速幂 OR 乘法快速幂

    关于快速幂这个算法,已经不想多说,很早也就会了这个算法,但是原来一直靠着模板云里雾里的,最近重新学习,发现忽视了一个重要的问题,就是若取模的数大于int型,即若为__int64的时候应该怎么办,这样就 ...

  5. 手机端 H5上传头像

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. 微信公众号支付开发全过程 --JAVA

    按照惯例,开头总得写点感想 ------------------------------------------------------------------ 业务流程 这个微信官网说的还是很详细的 ...

  7. Java链表的一些操作:

    [还有一些其他的算法提]http://blog.csdn.net/WalkingInTheWind/article/category/906980 [转]http://blog.csdn.net/lu ...

  8. BZOJ3270: 博物馆

    3270: 博物馆 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 269  Solved: 147[Submit][Status][Discuss] ...

  9. 洛谷 P1359 租用游艇

    题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,-,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1& ...

  10. iOS 之 系统机制

    iOS 沙盒 iOS 8 之 新特性 iOS 操作系统整体架构层次讲解