JAVA的JDBC连接与sql操作
一、前言
本文主要介绍怎样连接数据库。即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操作的更多相关文章
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表
基于CDH5.x 下面使用eclipse 操作hive .使用java通过jdbc连接HIVESERVICE 创建表 import java.sql.Connection; import java.s ...
- Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统
Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...
- Java使用JDBC连接SQL Server数据库
Java使用JDBC连接SQL Server数据库 1.下载驱动 1.下载Microsoft SQL Server JDBC 驱动程序 https://docs.microsoft.com/zh-cn ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
随机推荐
- Ruby Regexp
创建正则表达式对象 #以大写字母开始后面紧跟N个数字,方式一 reg = /[A-Z]\d+/ #方式二 reg = Regexp.new("[A-Z]\d+") reg = Re ...
- [转]Hibernate重要规则总结
实体类的编写规则 l 实体类必须具备无参构造方法 l 实体类必须具备数据库标识 l 通常选用无业务意义的逻辑主键作为数据库标识,通常是int/long/Str ...
- Object-c-数组的使用
一.数组: 1.数组初始化: a.NSArray *array = [[NSArray alloc] init]; b.NSArray *array = [[NSArray array]; 2.初始化 ...
- 【原创】VNC-view配置
*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...
- for name in loop Shell
for NAME in joe jane juliedoADDRESS="$NAME@example.com"MESSAGE='Projects are due today!'ec ...
- [OpenGL ES 03]3D变换:模型,视图,投影与Viewport
[OpenGL ES 03]3D变换:模型,视图,投影与Viewport 罗朝辉 (http://blog.csdn.net/kesalin) 本文遵循“署名-非商业用途-保持一致”创作公用协议 系列 ...
- BestCoder Round #85 hdu5776 sum
sum 题意: 问题描述 给定一个数列,求是否存在连续子列和为m的倍数,存在输出YES,否则输出NO 输入描述 输入文件的第一行有一个正整数T,表示数据组数. 接下去有T组数据,每组数据的第一行有两个 ...
- 在一个窗口中显示多个视频,并在每个子窗口左上角显示系统时间,函数cvShowManyImages是改写的
#include <cv.h> #include <highgui.h> #include <stdio.h> #include <stdarg.h> ...
- Transact-SQL的除法问题
SELECT 3800/365, 3800.0/365; 执行上面的sql,得到的结果是:10, 10.410958 返回优先级较高的参数的数据类型. 有关详细信息,请参阅数据类型优先级 (Trans ...
- 定时任务 Crontab命令 详解
crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用 crontab,那么任务就是常驻程序,这对你的程序要求比较高 ...