大家好,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的更多相关文章

  1. Java数据库连接技术

    使用mysql作为开发数据库,创建user表.创表语句如下: create database learn; use learn; CREATE TABLE user(id INT PRIMARY KE ...

  2. 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)

    一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...

  3. JDBC数据库连接技术

    [学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称 ...

  4. Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  5. java基础之JDBC一:概述及步骤详解

    1. JDBC的简介 概述: 就是Java用来操作不同数据库(DBMS)的类库(技术), 本质就是一些类和接口. /* 类: DriverManager 接口: Driver, Connection, ...

  6. [Java] 数据库编程JDBC

    背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...

  7. Java数据库连接代码集合(转)

    Java数据库连接接口(JDBC)是Java里定义的一套用于数据库连接和操作的API的集合.有不同的数据库厂商提供这套接口的实现类,对于 Java程序员来说,程序员不需要关心数据库的底层的实现,统一的 ...

  8. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

  9. JAVA数据库编程(JDBC技术)-入门笔记

    本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...

随机推荐

  1. SQL Server 2014 新特性——内存数据库

    SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...

  2. [C#] 了解过入口函数 Main() 吗?带你用批处理玩转 Main 函数

    了解过入口函数 Main() 吗?带你用批处理玩转 Main 函数 目录 简介 特点 方法的参数 方法的返回值 与批处理交互的一个示例 简介 我们知道,新建一个控制台应用程序的时候,IDE 会同时创建 ...

  3. SQL Server2016升级前几点自检

    SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...

  4. 原生js+css3实现图片自动切换,图片轮播

    运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...

  5. [原]Redis主从复制各种环境下测试

    Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...

  6. 【转】为什么我们都理解错了HTTP中GET与POST的区别

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  7. 说一说python的牛比与不爽

    本人写了10年php了.今年开始改写python了.不是说php有什么不好,php在自己的势力范围内还是很牛比的.只是我已经不能满足于php那两亩地了. 习惯了脚本,所以很自然就过度到python了. ...

  8. iOS之UILabel的自动换行

    思路: 获取UILabel的frame大小 获取UILabel的字体大小 获取UILabel的文本内容 根据上面的3部分数据,计算文本显示区域大小 根据4计算的大小,实时改变UILabel的frame ...

  9. Git(1)

    安装Git 完毕 (在开始菜单打开的话,打开的不是你想要的路径,切换路径很麻烦) 1.D盘新建 GitTest 文件夹 2.打开GitTest , 在空白的地方右键, 3.单击 Git Bash He ...

  10. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...