【Java】链接+操作数据库

本章将给出如何链接数据库的方法,以及如何操作数据库的数据库操作语句和代码解释:


一、如何在eclipse上链接数据库?方法是什么?代码是怎样的?

1、先说说链接数据库的步骤,如下:

(需要三个工具: eclipse工具;Mysql数据库;JDBC驱动包;

    想要在eclipse上链接数据库,首先需要下载对应数据库的jdbc驱动包,如Mysql数据库需要下载Mysql数据库对应的jdbc驱动包。如果是SQLserver数据库,则需要下载SQLserver数据库对应的jdbc驱动包。
    

JDBC

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

1、与一个数据库建立链接;
2、向已连接的数据库发送SQL语句;
3、处理SQL语句返回结果;

第一步:链接数据库
(1)加载JDBC-数据库驱动;

(2)和指定的数据库建立链接;

代码如下:
ConnectSQL.java
package SQLfirstwork;
import java.sql.*;
public class ConnectSql {
 public static void main(String[] args) {
  Connection con=null;
  Statement sql;
  ResultSet rs;//顺序对象,用于存储返回的结果集
  
   try {
   Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动   
  }
  catch(Exception e) {
   //
  }
  
  String uri="jdbc:mysql://localhost:3306/test?useSSL=true";//链接Mysql数据库
  String user="root";//默认账户
  String password="000000";//密码
  
  try {
   con=DriverManager.getConnection(uri,user,password);//链接(登入)数据库
  }
  catch(Exception e) {
   //
  }
  

  try {
   sql=con.createStatement();
   rs=sql.executeQuery("select * from score");
   
   while(rs.next()) {
    int Id=rs.getInt(1);
    int Stu_id=rs.getInt(2);
    String C_name=rs.getString(3);
    int Grade=rs.getInt(4);
    System.out.println(Id+" "+Stu_id+" "+C_name+" "+Grade);
    //System.out.print(Stu_id);
    //System.out.print(C_name);
    //System.out.print(Grade);
   }
   con.close();//关闭链接
  }
  catch(SQLException e) {
   System.out.println(e);
  }
 }
}

【Java】链接+操作数据库_第1张图片



第二步:创建数据库

代码如下:

package firstwork;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateDBscore {
 public static void main(String args[]) {
  Connection con = null;
  Statement sql;
  ResultSet rs;
  
  try {
   Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动   
  }
  catch(Exception e) {
   //
  }
  
  String uri="jdbc:mysql://localhost:3306/test?useSSL=true";
  String user="root";
  String password="000000";
  
  try {
   con=DriverManager.getConnection(uri,user,password);//链接数据库
  }
  catch(Exception e) {
   //
  }
  
//更新————————————————————————————————————————————————————————————————————————————————
  if(con==null) {
   return;
  }
  
//创建创建表语句
  String sqlStr="CREATE  TABLE  score (\r\n" +
    "id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,\r\n" +
    "stu_id  INT(10)  NOT NULL ,\r\n" +
    "c_name  VARCHAR(20) ,\r\n" +
    "grade  INT(10)\r\n" +
    ");\r\n" +
    "";
  
//执行更新
  try {
   sql=con.createStatement();
   @SuppressWarnings("unused")
   int ok=sql.executeUpdate(sqlStr);

   
   //返回查询
   rs= sql.executeQuery("select * from score");
   while(rs.next()) {
    int Id=rs.getInt(1);
    int Stu_id=rs.getInt(2);
    String C_name=rs.getString(3);
    int Grade=rs.getInt(4);
    System.out.println(Id+" "+Stu_id+" "+C_name+" "+Grade);
   }
   con.close();
  }
  catch(SQLException e) {
   System.out.println("记录中Id值不能重复"+e);
  }
 }
}

注:在eclipse中执行上述语句,然后在SQLyog图形管理工具中点击刷新如下图:

【Java】链接+操作数据库_第2张图片

第三步:删除语句

代码如下:

package firstwork;
import java.sql.*;
public class DeleteDB {
 public static void main(String args[]) {
  Connection con = null;
  Statement sql;
  ResultSet rs;
  
  try {
   Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动   
  }
  catch(Exception e) {
   //
  }
  
  String uri="jdbc:mysql://localhost:3306/test?useSSL=true";
  String user="root";
  String password="000000";
  
  try {
   con=DriverManager.getConnection(uri,user,password);//链接数据库
  }
  catch(Exception e) {
   //
  }
  
//更新————————————————————————————————————————————————————————————————————————————————
  if(con==null) {
   return;
  }
  
//创建删除语句
  String sqlStr="delete from score";
  
//执行更新
  try {
   sql=con.createStatement();
   @SuppressWarnings("unused")
   int ok=sql.executeUpdate(sqlStr);
   

   //返回查询
   rs= sql.executeQuery("select * from score");
   while(rs.next()) {
    int Id=rs.getInt(1);
    int Stu_id=rs.getInt(2);
    String C_name=rs.getString(3);
    int Grade=rs.getInt(4);
    System.out.println(Id+" "+Stu_id+" "+C_name+" "+Grade);
   }

   con.close();
  }
  catch(SQLException e) {
   System.out.println("记录中Id值不能重复"+e);
  }
 }
}


第四步:查询语句

(1)方法一:(此篇谨以此方法介绍简单的操作,读者可举一反三)利用.next()函数逐条返回查询的一行数据。

代码如下:

package secondwork;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SelectDB_01 {
 public static void main(String[] args) {
  Connection con=null;
  Statement sql;
  ResultSet rs;//顺序对象
  
  try {
   Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动   
  }
  catch(Exception e) {
   //
  }
  
  String uri="jdbc:mysql://localhost:3306/test?useSSL=true";
  String user="root";
  String password="000000";
  
  try {
   con=DriverManager.getConnection(uri,user,password);
  }
  catch(Exception e) {
   //
  }
  
   try {
   sql=con.createStatement();
   rs=sql.executeQuery("select * from student");
   System.out.println("id "+"name "+"sex "+"birth "+"department "+"address ");
   while(rs.next()) {
    int id=rs.getInt(1);
    String name=rs.getString(2);
    String sex=rs.getString(3);
    int birth=rs.getInt(4);
    String department=rs.getString(5);
    String address=rs.getString(6);
    
    System.out.println(id+" "+name+" "+sex+" "+birth+" "+department+" "+address);
    //System.out.print(Stu_id);
    //System.out.print(C_name);
    //System.out.print(Grade);
   }
   con.close();//关闭链接
  }
  catch(SQLException e) {
   System.out.println(e);
  }
 }
}

【Java】链接+操作数据库_第3张图片

第五步:插入语句

代码如下:

package firstwork;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class InsertDBscore {
 public static void main(String args[]) {
  Connection con = null;
  Statement sql;
  ResultSet rs;
  
  try {
   Class.forName("com.mysql.jdbc.Driver");//加载JDBC驱动   
  }
  catch(Exception e) {
   //
  }
  
  String uri="jdbc:mysql://localhost:3306/test?useSSL=true";
  String user="root";
  String password="000000";
  
  try {
   con=DriverManager.getConnection(uri,user,password);//链接数据库
  }
  catch(Exception e) {
   //
  }
  
  //更新————————————————————————————————————————————————————————————————————————————————
  if(con==null) {
   return;
  }
  
   //创建更新语句
  String jilu= "(NULL,901, '计算机',98),"
     +"(NULL,901, '英语', 80),"
     +"(NULL,902, '计算机',65),"
     +"(NULL,902, '中文',88),"
     +"(NULL,903, '中文',95),"
     +"(NULL,904, '计算机',70),"
     +"(NULL,904, '英语',92),"
     +"(NULL,905, '英语',94),"
     +"(NULL,906, '计算机',90),"
     +"(NULL,906, '英语',85)";
  
  String sqlStr="insert into score values"+jilu;
  
  //执行更新
  try {
   sql=con.createStatement();
   @SuppressWarnings("unused")
   int ok=sql.executeUpdate(sqlStr);
   
   //返回查询
   rs= sql.executeQuery("select * from score");
   while(rs.next()) {
    int Id=rs.getInt(1);
    int Stu_id=rs.getInt(2);
    String C_name=rs.getString(3);
    int Grade=rs.getInt(4);
    System.out.println(Id+" "+Stu_id+" "+C_name+" "+Grade);
   }
  
 con.close();
  }
  catch(SQLException e) {
   System.out.println(e);
  }
 }
}


注:如上代码可知,对数据库简单的增,删,改,查,我们可以用很简单的代码将其实现。当然,也有许多更优、更好的算法,此处笔者不做说明,请读者自行查找摸索。

你可能感兴趣的:(【Java】链接+操作数据库)