zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

JDBC连接MYSQL数据库示例详解编程语言

2023-06-13 09:20:30 时间

JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用JAVA编写的类和接口组成。说白了就和PHP的PDO一样,通过JDBC,JAVA可以使用相同 的API接口来链接例如:MYSQL,SQLSERVER等不同类型的数据库。 连接MYSQL数据库:

package main; 

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); 


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); 


删除和更新数据都使用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); 


查询语句使用stmt.executeQuery函数

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

rs.first()第一条

rs.last()最后一条

rs.previoust()前一条

rs.next()后一条

rs.beforeFirst()第一条之前

rs.afterLast()最后之后

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

11067.html

cjavamysqlphpsqlserver