linqy的个人博客分享 http://blog.sciencenet.cn/u/linqy

博文

Java对MySQL数据库进行连接、查询和修改

已有 2817 次阅读 2017-11-27 13:54 |个人分类:mysql|系统分类:科研笔记| Mysql, java

0. 一般过程:

  (1) 调用Class.forName()方法加载驱动程序。

  (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。

  (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句)。

  (4) 调用excuteQuery()等方法执行SQL语句,并将结果保存在ResultSet对象;或者调用executeUpdate()等方法执行SQL语句,不返回ResultSet对象的结果。

  (5)对返回的ResultSet对象进行显示等相当的处理。

  (6)释放资源。

1. 连接数据库

  (1) 下载Mysql连接驱动

网址: http://dev.mysql.com/downloads/connector/j/ ,下载后放在F:\博士科研资料\数据库学习\mysql相关程序文件中,解压。

  (2) 加载JDBC驱动

操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。

  (3) 建一个简单的数据库如下:

                  

import java.sql.*;

public class GetConnection {

   public static void main(String[] args){

       try{

           //调用Class.forName()方法加载驱动程序

           Class.forName("com.mysql.jdbc.Driver");

           System.out.println("成功加载MySQL驱动!");

       }catch(ClassNotFoundException e1){

           System.out.println("找不到MySQL驱动!");

           e1.printStackTrace();

       }

       

       String url="jdbc:mysql://localhost:3306/mysql";    //JDBC的URL    

       //调用DriverManager对象的getConnection()方法,获得一个Connection对象

       Connection conn;

       try {

           conn = DriverManager.getConnection(url,    "root","");

           //创建一个Statement对象

           Statement stmt = conn.createStatement(); //创建Statement对象

           System.out.print("成功连接到数据库!");

           stmt.close();

           conn.close();

       } catch (SQLException e){

           e.printStackTrace();

       }

   }

}

2. 查询数据表

  在询数据表时,需要用到ResultSet接口,它类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。

import java.sql.*;


public class SelectTable {

   

   public static void main(String[] args){

       try{

           //调用Class.forName()方法加载驱动程序

           Class.forName("com.mysql.jdbc.Driver");

           System.out.println("成功加载MySQL驱动!");

               

           String url="jdbc:mysql://localhost:3306/aniu";    //JDBC的URL    

           Connection conn;


           conn = DriverManager.getConnection(url,    "root","");

           Statement stmt = conn.createStatement(); //创建Statement对象

           System.out.println("成功连接到数据库!");


           String sql = "select * from stu";    //要执行的SQL

           ResultSet rs = stmt.executeQuery(sql);//创建数据对象

               System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");

               while (rs.next()){

                   System.out.print(rs.getInt(1) + "\t");

                   System.out.print(rs.getString(2) + "\t");

                   System.out.print(rs.getInt(3) + "\t");

                   System.out.println();

               }

               rs.close();

               stmt.close();

               conn.close();

           }catch(Exception e)

           {

               e.printStackTrace();

           }

   }

}

3. 修改和删除数据库

//修改删除数据

import java.sql.*;

public class UpdateDeleteDemo {

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

       try{

           //调用Class.forName()方法加载驱动程序

           Class.forName("com.mysql.jdbc.Driver");

           System.out.println("成功加载MySQL驱动!");

               

           String url="jdbc:mysql://localhost:3306/aniu";    //JDBC的URL    

           Connection conn;


           conn = DriverManager.getConnection(url,    "root","");

           Statement stmt = conn.createStatement(); //创建Statement对象

           System.out.println("成功连接到数据库!");


           //查询数据的代码

           String sql = "select * from stu";    //要执行的SQL

           ResultSet rs = stmt.executeQuery(sql);//创建数据对象

               System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");

               while (rs.next()){

                   System.out.print(rs.getInt(1) + "\t");

                   System.out.print(rs.getString(2) + "\t");

                   System.out.print(rs.getInt(3) + "\t");

                   System.out.println();

               }

               

           //修改数据的代码

           String sql2 = "update stu set name=? where number=?";

           PreparedStatement pst = conn.prepareStatement(sql2);

           pst.setString(1,"8888");

           pst.setInt(2,198);

           pst.executeUpdate();

               

           //删除数据的代码

           String sql3 = "delete from stu where number=?";

           pst = conn.prepareStatement(sql3);

           pst.setInt(1,701);

           pst.executeUpdate();

               

           ResultSet rs2 = stmt.executeQuery(sql);//创建数据对象

           System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");

           while (rs.next()){

               System.out.print(rs2.getInt(1) + "\t");

               System.out.print(rs2.getString(2) + "\t");

               System.out.print(rs2.getInt(3) + "\t");

               System.out.println();

           }

               

           rs.close();

           stmt.close();

           conn.close();

           }catch(Exception e)

           {

               e.printStackTrace();

           }

   }

}

参考:https://www.cnblogs.com/aniuer/archive/2012/09/10/2679241.html  




https://blog.sciencenet.cn/blog-3134052-1087060.html

上一篇:java利用geotools读写shp以及相关的文件
下一篇:java对mqsql数据库的链接、查询和修改
收藏 IP: 111.195.163.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-21 05:15

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部