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- ...
随机推荐
- linux devel包 和 非devel包的区别
devel 包主要是供开发用,至少包括以下2个东西: 1. 头文件 2. 链接库 有的还含有开发文档或演示代码. 以 glib 和 glib-devel 为例: 如果你安装基于 glib 开发的程序, ...
- 【POJ2104】【HDU2665】K-th Number 主席树
[POJ2104][HDU2665]K-th Number Description You are working for Macrohard company in data structures d ...
- HTML 学习笔记 JQuery(表单,表格 操作)
表单应用 一个表单有3个基本组成部分 (1)表单标签:包含处理表单数据所用的服务器端程序URL 以及数据提交到服务器的方法 (2)表单域:包含文本框 密码框 隐藏框 多行文本框 复选框 单选框 下拉选 ...
- leetcode-006 detect cycle
package leetcode; public class DetectCycle { public ListNode detectCycle(ListNode head) { ListNode s ...
- svn 安装网站
1.svn插件 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
- xcode调试
reference:http://www.cnblogs.com/ylkk_925/p/3238171.html 1.添加异常断点,快速定位抛出异常的代码位置,帮助快速解决Bug.(PS:可以在LLD ...
- My first essay
今天是我开通博客第一天,从此开始了我的博客之路.为了实现成为程序猿的我,现在开始努力啦~今年大三,就读杭州电子科技大学,通信工程专业.现在在自学web前端,虽然与我就读专业并无多大相关,但是这是根据自 ...
- 1)Linux学习笔记:crontab命令
crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 配置文件 ``` SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin: ...
- 使用Python脚本操作MongoDB的教程
Reference: http://www.jb51.net/article/64225.htm
- Python计算一个项目中含有的代码行数
最近想要知道以前做过的project有多少行代码,因为文件太多,直接手工数效率太低,于是编写一个python程序用来计算一个project有多少代码行. 首先,在一个项目中,有很多子文件夹,子文件夹中 ...