mysql数据库jdbc了解,oracle mysql jdbc

本文目录一览:

Java里面的JDBC是什么意思啊?

Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。

API概述

JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):

DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。

可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:

用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。

怎样用jdbc连接mysql数据库

1.在新建的Project中右键新建Floder

2

2.创建名为lib的包

3.创建完毕之后的工程目录

4.接下来解压你下载的mysql的jar包,拷贝其中的.jar文件

5.在工程lib包下邮件 选择paste即粘贴,把mysql的jar包拷贝进来

6.拷贝完毕如图:

7.在mysql的jar包上右键选择 build path – add to build path

8.添加完毕之后,工程才与Mysql的jar包关联起来,现在可以使用相关类和方法了

9.在工程中新建JdbcTest1.java类

10.输入如下代码:

11.代码解释:

Driver是个实现类,它由具体的数据库厂商来实现。

它的connect方法可以获取数据库连接。参数如上图。

运行之后,输出如下,证明数据库连接成功!

12.说明:这个是使用Driver连接数据库的,而通常开发中使用的是DriverManager或数据库连接池,这个仅作为理解数据库连接事例使用。

jdbc 连接mysql时中的URL怎么写的

String url=”jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password”;

例如:

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Connection;

import java.sql.Statement;

 

 

public class MysqlDemo {

    public static void main(String[] args) throws Exception {

        Connection conn = null;

        String sql;

        // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值

        // 避免中文乱码要指定useUnicode和characterEncoding

        // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,

        // 下面语句之前就要先创建javademo数据库

        String url = “jdbc:mysql://localhost:3306/javademo?”

                + “user=rootpassword=rootuseUnicode=truecharacterEncoding=UTF8”;

 

        try {

            // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,

            // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以

            Class.forName(“com.mysql.jdbc.Driver”);// 动态加载mysql驱动

            // or:

            // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();

            // or:

            // new com.mysql.jdbc.Driver();

 

            System.out.println(“成功加载MySQL驱动程序”);

            // 一个Connection代表一个数据库连接

            conn = DriverManager.getConnection(url);

            // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等

            Statement stmt = conn.createStatement();

            sql = “create table student(NO char(20),name varchar(20),primary key(NO))”;

            int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

            if (result != -1) {

                System.out.println(“创建数据表成功”);

                sql = “insert into student(NO,name) values(‘2012001′,’陶伟基’)”;

                result = stmt.executeUpdate(sql);

                sql = “insert into student(NO,name) values(‘2012002′,’周小俊’)”;

                result = stmt.executeUpdate(sql);

                sql = “select * from student”;

                ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值

                System.out.println(“学号\t姓名”);

                while (rs.next()) {

                    System.out

                            .println(rs.getString(1) + “\t” + rs.getString(2));// 入如果返回的是int类型可以用getInt()

                }

            }

        } catch (SQLException e) {

            System.out.println(“MySQL操作错误”);

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            conn.close();

        }

 

    }

 

}

怎样使用jdbc访问mysql数据库

JDBC连接MYSQL数据库:

package cn.outofmemory.test;

import java.sql.Connection;

import java.sql.DriverManager;

public class Mysql {

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

System.out.print(“yes”);

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); 我们链接的是MYSQL数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,

可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。

con = DriverManager.getConnection;(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); 是链接数据库的语句,

返回Connection con;对象。参数格式:(“jdbc:mysql://ip:端口/数据库名称”, 用户名,密码)

写入一条数据

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

stmt.executeUpdate INSERT; DELETE; UPDATE;语句都用executeUpdate函数来操作

stmt.executeQuery SELECT;语句都用stmt.executeQuery函数来操作

ResultSet res = stmt.executeQuery;(“select LAST;_INSERT_ID()”);

查询最后插入数据的ID号,返回ResultSet res;对象

删除和更新数据

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

//删除一条数据

String sql = “DELETE FROM user WHERE id = 1”;

long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数

System.out.print(“DELETE:” + deleteRes);

//更新一条数据

String updateSql = “UPDATE user SET username = ‘xxxx’ WHERE id = 2”;

long updateRes = stmt.executeUpdate(updateSql);

System.out.print(“UPDATE:” + updateRes);

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

删除和更新数据都使用stmt.executeUpdate函数。

删除和更新数据都会返回一个Long的结果,如果为0,则删除或者更新失败,如果大于0则是操作删除的记录数

查询语句

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

//删除一条数据

String sql = “DELETE FROM user WHERE id = 1”;

long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数

System.out.print(“DELETE:” + deleteRes);

//更新一条数据

String updateSql = “UPDATE user SET username = ‘xxxx’ WHERE id = 2”;

long updateRes = stmt.executeUpdate(updateSql);

System.out.print(“UPDATE:” + updateRes);

//查询数据并输出

String selectSql = “SELECT * FROM user”;

ResultSet selectRes = stmt.executeQuery(selectSql);

while (selectRes.next()) { //循环输出结果集

String username = selectRes.getString(“username”);

String password = selectRes.getString(“password”);

System.out.print(“\r\n\r\n”);

System.out.print(“username:” + username + “password:” + password);

}

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

查询语句使用stmt.executeQuery函数

rs.absolute() //绝对位置,负数表示从后面数

rs.first()第一条

rs.last()最后一条

rs.previoust()前一条

rs.next()后一条

rs.beforeFirst()第一条之前

rs.afterLast()最后之后

rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/302898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-31 11:48
下一篇 2024-12-31 11:48

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • 如何将Oracle索引变成另一个表?

    如果你需要将一个Oracle索引导入到另一个表中,可以按照以下步骤来完成这个过程。 一、创建目标表 首先,需要在数据库中创建一个新的表格,用来存放索引数据。可以通过以下代码创建一个…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28
  • MySQL bigint与long的区别

    本文将从数据类型定义、存储空间、数据范围、计算效率、应用场景五个方面详细阐述MySQL bigint与long的区别。 一、数据类型定义 bigint在MySQL中是一种有符号的整…

    编程 2025-04-28
  • Python怎么导入数据库

    Python是一种高级编程语言。它具有简单、易读的语法和广泛的库,让它成为一个灵活和强大的工具。Python的数据库连接类型可以多种多样,其中包括MySQL、Oracle、Post…

    编程 2025-04-28

发表回复

登录后才能评论