一、前言

本文主要介绍怎样连接数据库。即JDBC的操作。以MySQL为例子。

前提是首先要将驱动jar包放入对应路径中。

二、过程说明

1.加载jdbc驱动程序

<span style="font-size:12px;">Class.forName("com.mysql.jdbc.Driver");</span>

这里的驱动根据不同类型的数据库来改变。

比如mysql数据库,就是com.mysql.jdbc.Driver

Oracle数据库,oracle.jdbc.driver.OracleDriver

ms_sql server数据库,com.microsoft.jdbc.sqlserver.SQLServerDriver

等等。

2、建立连接

<span style="font-size:12px;">Connection connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","123456");</span>

其中三个参数分别是:加载数据库的地址url,加载数据库的用户名user,加载数据库的用户相应的登陆密码password;

3.创建Statement对象

<span style="font-size:12px;">Statement stmt = connect.createStatement();</span>

大部分数据库驱动程序允许在同一个连接中打开多个并行的Statement对象,创建好Statement对象之后,就可以使用它来进行数据库的操作了。Statement类中的常用方法,可以去帮助文档中查找。

4.执行sql语句及结果集的处理

<span style="font-size:12px;">ResultSet rs = stmt.executeQuery("select * from stu_table");

			while(rs.next()){
System.out.println(rs.getString("name"));
}</span>

5.一些其他如insert插入操作

<span style="font-size:12px;">int num = 100;
PreparedStatement pst = connect.prepareStatement("insert into stu_table values(?,?,?,?)");
int i;
for( i = 0; i < num ; i++){
pst.setString(1,i+"3"); pst.setString(2,"Lilly" + (i+1));
pst.setString(3, "female");
pst.setString(4, "001");
pst.execute();
}
System.out.println("success inserting notes!");</span>

6.关闭连接

rs.close();

stmt.close();

connect.close();

在关闭连接前先将相应的ResultSet对象及statement对象也关闭。

三、程序完整实现

<span style="font-size:12px;">package test;

import java.sql.*;

public class testJDBC {

	public static void main(String[] args) {
try{
//first:load jdbc driver
Class.forName("com.mysql.jdbc.Driver"); System.out.println("Success loading Mysql Driver!");
}
catch(Exception e){
System.out.println("Error loading mysql driver!");
e.printStackTrace();
}
try{
//second:connect sql server
Connection connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","123456");
System.out.println("success connecting mysql server!"); //third:selct from the table of database using a sql query
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from stu_table"); while(rs.next()){
System.out.println(rs.getString("name"));
} //four:do some other operation such as insert notes
int num = 100;
PreparedStatement pst = connect.prepareStatement("insert into stu_table values(?,?,?,?)");
int i;
// for( i = 0; i < num ; i++){
// pst.setString(1,i+"3");
//
// pst.setString(2,"Lilly" + (i+1));
// pst.setString(3, "female");
// pst.setString(4, "001");
// pst.execute();
// }
System.out.println("success inserting notes!");</strong></span></span>
<span style="font-size:12px;"><span style="font-size:18px;"><strong><span style="white-space:pre">			</span>rs.close();
<span style="white-space:pre"> </span>stmt.close();
<span style="white-space:pre"> </span>connect.close();
}
catch(SQLException e){
System.out.println("Error connecting mysql server!");
e.printStackTrace();
} } } </span>

JAVA的JDBC连接与sql操作的更多相关文章

  1. 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表

    基于CDH5.x 下面使用eclipse 操作hive .使用java通过jdbc连接HIVESERVICE 创建表 import java.sql.Connection; import java.s ...

  2. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  3. Java使用JDBC连接SQL Server数据库

    Java使用JDBC连接SQL Server数据库 1.下载驱动 1.下载Microsoft SQL Server JDBC 驱动程序 https://docs.microsoft.com/zh-cn ...

  4. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  5. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  6. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

  7. java用JDBC连接MySQL数据库的详细知识点

    想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...

  8. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  9. JAVA采用JDBC连接操作数据库详解

    JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...

随机推荐

  1. Ruby Regexp

    创建正则表达式对象 #以大写字母开始后面紧跟N个数字,方式一 reg = /[A-Z]\d+/ #方式二 reg = Regexp.new("[A-Z]\d+") reg = Re ...

  2. [转]Hibernate重要规则总结

    实体类的编写规则 l        实体类必须具备无参构造方法 l        实体类必须具备数据库标识 l        通常选用无业务意义的逻辑主键作为数据库标识,通常是int/long/Str ...

  3. Object-c-数组的使用

    一.数组: 1.数组初始化: a.NSArray *array = [[NSArray alloc] init]; b.NSArray *array = [[NSArray array]; 2.初始化 ...

  4. 【原创】VNC-view配置

    *.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...

  5. for name in loop Shell

    for NAME in joe jane juliedoADDRESS="$NAME@example.com"MESSAGE='Projects are due today!'ec ...

  6. [OpenGL ES 03]3D变换:模型,视图,投影与Viewport

    [OpenGL ES 03]3D变换:模型,视图,投影与Viewport 罗朝辉 (http://blog.csdn.net/kesalin) 本文遵循“署名-非商业用途-保持一致”创作公用协议 系列 ...

  7. BestCoder Round #85 hdu5776 sum

    sum 题意: 问题描述 给定一个数列,求是否存在连续子列和为m的倍数,存在输出YES,否则输出NO 输入描述 输入文件的第一行有一个正整数T,表示数据组数. 接下去有T组数据,每组数据的第一行有两个 ...

  8. 在一个窗口中显示多个视频,并在每个子窗口左上角显示系统时间,函数cvShowManyImages是改写的

    #include <cv.h> #include <highgui.h> #include <stdio.h> #include <stdarg.h> ...

  9. Transact-SQL的除法问题

    SELECT 3800/365, 3800.0/365; 执行上面的sql,得到的结果是:10, 10.410958 返回优先级较高的参数的数据类型. 有关详细信息,请参阅数据类型优先级 (Trans ...

  10. 定时任务 Crontab命令 详解

    crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用 crontab,那么任务就是常驻程序,这对你的程序要求比较高 ...