Java连接数据库(mysql,sqlserver)
犹记当年为了使用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)的更多相关文章
- java 连接数据库mysql的方法
1.把那个文件配置好环境变量. 2.创建数据库,插入数据 注意的地方: (1)环境变量 classpath(可大写,也可以小写,可放在个人变量,也可以试系统变量) 里面的值 F:\mysql-conn ...
- Java连接数据库之SQLServer
工具: eclipse Microsoft SQL Server SQL Server连接驱动:mssql-jdbc-6.4.0.jre8.jar SQL script代码 CREATE DATABA ...
- java连接数据库(sqlserver和mysql)
java连接sqlserver数据库 废话不多说,直接看代码: public static void main(String[] args) { // TODO Auto-generated meth ...
- Java连接数据库之MySQL
工具: eclipse MySQL Navicat for MySQL MySQL 连接驱动:mysql-connector-java-5.0.4-bin.jar SQL 代码 CREATE TABL ...
- java连接数据库(jdbc)的标准规范
java连接数据库的标准规范 JDBC全称:java database connectivity ,是sun公司提供的Java连接数据库的标准规范. localhost和127.0.0.1 都是表示当 ...
- Java连接数据库的辣几句话
Java连接数据库的辣几句话 1.java连接Oracle数据库 使用以下代码三个步骤: 1.下载ojdbc.jar包并导入项目中.附下载地址:http://download.csdn.net/det ...
- java连接mysql
Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- 让Java和MySQL连接起来
Java 连接 MySQL 需要驱动包,可以下载菜鸟教程提供的 jar 包:http://static.runoob.com/download/mysql-connector-java-5.1.39- ...
随机推荐
- Cordova3+sencha touch2.x 环境搭建
1.安装 nodejs 2.安装 cordova: npm install -g cordova 3.创建一个工程: cordova create MyApp com.example.MyApp My ...
- ASP.net 自定义控件GridView
using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls ...
- 从内存中加载DLL Delphi版(转)
源:从内存中加载DLL DELPHI版 原文 : http://www.2ccc.com/article.asp?articleid=5784 MemLibrary.pas //从内存中加载DLL D ...
- POJ3259负环判定
题意:有n个顶点,m条边,然后有w个洞,过每个洞的时间为-ti,求是否会时光倒流 分析:就是求是否存在负圈,用Bellman-Floyd判定是否存在负圈即可,注意是无向图,所以路径是双向可达的 #in ...
- Keil C 里面Lib库文件的生成与调用
源:Keil C 里面Lib库文件的生成与调用
- S3C2440看门狗解析
个PCLK周期的复位信号 也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断 ...
- 浅谈MySQL分表
关于分表:顾名思义就是一张数据量很大的表拆分成几个表分别进行存储. 我们先来大概了解以下一个数据库执行SQL的过程: 接收到SQL --> 放入SQL执行队列 --> 使用分析器分解SQL ...
- Git提交过程的一些问题
参考:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 提交冲突,无法提交到github git pull origin ...
- bzoj1449————2016——3——14
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1449 题目简述: Description Input Output 一个整数表示联盟里所有球 ...
- 使用Linux自定义自动补全命令完善自己的shell脚本
对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...