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- ...
随机推荐
- [转帖]完美解决NVIDIA最新显卡驱动无法安装。(修改教程篇,各机型都可以)
http://blog.sina.com.cn/s/blog_53e2b55e0100lyx2.html ———————————————————————————————————— 前段时间,有 ...
- 17.4.3 使用MulticastSocket实现多点广播(3)
上面程序中init()方法里的第一行粗体字代码先创建了一个MulticastSocket对象,由于需要使用该对象接收数据报,所以为该Socket对象设置使用固定端口:第二行粗体字代码将该Socket对 ...
- 关于bool和BOOL的区别
1.类型不同: BOOL是int类型,bool是布尔类型 2.长度不同: BOOL长度是其环境来定,一般是4个字节,因为其是int类型;bool长度为一个字节 3.取值不同: BOOL取值是FALSE ...
- 3D VR卡镜的使用方法
先把它展开 然后把它卡在手机中间 介绍一个VR游戏资源 Chair In a Room,这是一个立体沉浸式的3D游戏,原理是陀螺仪传感器随着手机转动可以观察整个三维房间 如图所示,点击进入,将两眼放到 ...
- MySQL master/slave 模式
1 .复制 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并重 ...
- 不停的实例化对象导致OOM
使用axis调用webService,系统运行一段时间后,出现了 OOM,还好日志中 记下了错误信息. Exception in thread "Thread-1301" java ...
- Thinking in scala (8)---- 乘幂计算
递归的方式: b^n = (b^(n/2))^2 若n是偶数 b^n = b*(b^(n-1)) 若n是奇数 迭代的方式 product:存储中间结果,初始化为1 b^n = (b^2)^(n/2) ...
- 【转】VS2013动态库文件的创建及其使用详解
一.VS2013动态库文件的创建 1.新建项目,win32,win32项目,输入项目名称,例如MakeDll. 2.”确定“——”下一步“,选择”DLL“选项,再点”完成“: 3.菜单栏选择”项目“— ...
- OO设计原则 -- OO设计的原则及设计过程的全面总结
这部分增加一点自己的感想,OO设计原则下面讲述的很清晰;看完之后有点感想如果我们在实际开发当中能够把这些原则熟烂于心的话那我们的代码质量和个人能力会有很显著的提神.根据自己的实际经验看很多开发者在开发 ...
- Memcached源码分析之memcached.c
memcached.c 由于代码太多,在此省略了部分代码,例如UPD连接,二进制协议,某些错误输出和调试输出等,建议从main函数开始看起. #include "memcached.h&qu ...