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的这些语法以及什么的在用到的时候在去发现学 ...
随机推荐
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- 前端学HTTP之字符集
前面的话 HTTP报文中可以承载以任何语言表示的内容,就像它能承载图像.影片或任何类型的媒体那样.对HTTP来说,实体主体只是二进制信息的容器而已.为了支持国际性内容,服务器需要告知客户端每个文档的字 ...
- 理解 .NET Platform Standard
相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:https://github.com/dotne ...
- SharpMap简析
1.背景 因为项目需求,需要基于开源项目来对SHP进行相关操作.涉及到的主要功能就是加载SHP读取其中的属性信息和几何信息.于是选择了Sharpmap来进行,在使用中对其相关功能做了初步了解,做个总结 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- 如何理解DT将是未来IT的转型之路?
如今的IT面临着内忧外患的挑战. 一方面,企业多多少少都建立了信息化,有些企业或集团甚至会有数几十个分公司,包含直销.代理.零售以及第三方物流等多种业态.越是复杂的业务,信息化建设越困难,比如运用大量 ...
- Android studio使用gradle动态构建APP(不同的包,不同的icon、label)
最近有个需求,需要做两个功能相似的APP,大部分代码是一样的,只是界面不一样,以前要维护两套代码,比较麻烦,最近在网上找资料,发现可以用gradle使用同一套代码构建两个APP.下面介绍使用方法: 首 ...
- SQL Server 批量删除存储过程
原理很简单的'drop proc xxx'即可,下面有提供了两种方式来删除存储过程,其实本质是相同的,方法一是生成删除的sql后直接执行了,方法二会生成SQL,但需要检查后执行,个人推荐第二种做法. ...
- linux压缩和解压缩命令大全
.tar 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName ------------------------------------- ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...