Java数据库连接技术——JDBC
大家好,Java如何连接数据库。之前学过.net语言的数据库操作,感觉就是一通百通,大同小异。
JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力。
JDBC API (主要功能:与数据库建立连接、执行语句、处理结果):
提供者:Sun公司
内容:供程序员调用的接口与类,集成在java.sql和javax.sql(后面的x是extend,扩展的意思)。如:
DriverManager类(管理各种不同的JDBC驱动),
Connection接口(连接数据、传送数据),
statement接口(执行SQL语句),
ResultSet接口(根据statement返回的结果集,来处理结果)。
编写步骤:
1.加载JDBC驱动;
2.创建数据库连接对象;
3.创建命令对象statement,来执行SQL语句并返回结果集;
4.ResultSet通过返回的结果集,来处理结果;
5.关闭数据库连接,释放资源。
举一个验证用户登录的例子吧:
package jdbc; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner; /**
* JDBC连接数据库.java
* 2017-1-6 上午11:14:48
* John
*/
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入用户名:");
String username=input.next();
System.out.println("请输入密码:");
String userpwd=input.next();
//1.加载JDBC驱动
try {
Class.forName("com.mysql.jdbc.Driver");//MySQL使用的驱动器 //oracle驱动器:oracle.jdbc.driver.OracleDriver
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.创建数据库连接对象
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
try {
//mysql连接URL编写格式为:jdbc:mysql://主机名称:连接端口/数据库名称
//oracle连接URL编写格式为: oracle jdbc:oracle:thin:@127.0.0.1:1521:pet
String url="jdbc:mysql://localhost:3306/Pet";
conn=DriverManager.getConnection(url, "root","123456");
//3.创建命令对象statement
stat=conn.createStatement();
//4.执行命令,并返回结果集
String sql="select count(1) as cnt from users where UserName='"+username+"' and userpwd='"+userpwd+"'";
rs=stat.executeQuery(sql);
while(rs.next()){
int count=rs.getInt("cnt");
if (count==1) {
System.out.println("登录成功!");
}else {
System.out.println("登录失败!");
}
}
} catch (SQLException e) { //此处记住要对异常进行处理
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//5.关闭数据库连接
try {
conn.close();
stat.close();
rs=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
以上是我的个人观点,有异议的地方望大家指正,共同学习,共同进步!
Java数据库连接技术——JDBC的更多相关文章
- Java数据库连接技术
使用mysql作为开发数据库,创建user表.创表语句如下: create database learn; use learn; CREATE TABLE user(id INT PRIMARY KE ...
- 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)
一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...
- JDBC数据库连接技术
[学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称 ...
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- java基础之JDBC一:概述及步骤详解
1. JDBC的简介 概述: 就是Java用来操作不同数据库(DBMS)的类库(技术), 本质就是一些类和接口. /* 类: DriverManager 接口: Driver, Connection, ...
- [Java] 数据库编程JDBC
背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...
- Java数据库连接代码集合(转)
Java数据库连接接口(JDBC)是Java里定义的一套用于数据库连接和操作的API的集合.有不同的数据库厂商提供这套接口的实现类,对于 Java程序员来说,程序员不需要关心数据库的底层的实现,统一的 ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- JAVA数据库编程(JDBC技术)-入门笔记
本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...
随机推荐
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- DDR的前世与今生(一)
作者:一博科技 DDR SDRAM全称为Double Data Rate SDRAM,中文名为"双倍数据率SDRAM".DDR是在原有的SDRAM的基础上改进而来,严格的说DDR应 ...
- PHP赋值运算
1. 赋值运算:= ,意思是右边表达式的值赋给左边的运算数. $int1=10; $int1=$int1-6; //$int1=4 echo $int1,"<br>"; ...
- git亲测命令
一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
系列目录 前言: 一.阅读这段系列之前,你必须花半天时间大致阅读微信公众平台的API文档,我尽量以简短快速的语言与大家分享一个过程 二.借助微信公众平台SDK Senparc.Weixin for C ...
- warensoft unity3d 更新说明
warensoft unity3d 组件的Alpha版本已经发布了将近一年,很多网友发送了改进的Email,感谢大家的支持. Warensoft Unity3D组件将继续更新,将改进的功能如下: 1. ...
- vue.js学习笔记
有了孩子之后,元旦就哪也去不了了(孩子太小),刚好利用一些时间,来公司充充电补补课,学习学习新技术,在这里做一个整理和总结.(选择的东西,既然热爱就把他做好吧!). 下来进入咱们的学习环节: 一.从H ...
- Nested Loops join时显示no join predicate原因分析以及解决办法
本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Windows下Visual studio 2013 编译 Audacity
编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...