JDBC: eclipse 连接mysql 并执行一些SQL语句

目录

 

1.为项目导入mysql-jdbc的jar包

2.初始化驱动

3.建立与数据库的连接

4.创建Statement

5.执行SQL语句

6.关闭连接


1.为项目导入mysql-jdbc的jar包

访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫做Jar的文件里。
为了代码能够使用第三方的类,需要为项目导入mysql的专用Jar包。
链接: https://pan.baidu.com/s/1HJyqhswI9wMxFI6kZXIePQ 提取码: pthi 复制这段内容后打开百度网盘手机App,操作更方便哦
通常都会把项目用到的jar包统一放在项目的lib(lib是我自己新建的)目录下,在本例就会放在
项目路径下lib 这个位置
然后在eclipse中导入这个jar包

导包步骤: 右键project->property->java build path->libaries->add external jars

2.初始化驱动

通过Class.forName("com.mysql.jdbc.Driver");
初始化驱动类com.mysql.jdbc.Driver
就在 mysql-connector-java-5.0.8-bin.jar中
如果忘记了第一步的导包,就会抛出ClassNotFoundException

//初始化驱动
        try {
            //驱动类com.mysql.jdbc.Driver
            //就在 mysql-connector-java-5.0.8-bin.jar中
            //如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException
            Class.forName("com.mysql.jdbc.Driver");
              
            System.out.println("数据库驱动加载成功 !");
   
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

3.建立与数据库的连接

建立与数据库的Connection连接
这里需要提供:
数据库所处于的ip:127.0.0.1 (本机)
数据库的端口号: 3306 (mysql专用端口号)
数据库名称 sqltest  (前提:你先建立数据库)
编码方式 UTF-8
账号 root
密码 admin

try {
            Class.forName("com.mysql.jdbc.Driver");
  
            // 建立与数据库的Connection连接
            // 这里需要提供:
            // 数据库所处于的ip:127.0.0.1 (本机)
            // 数据库的端口号: 3306 (mysql专用端口号)
            // 数据库名称 how2java
            // 编码方式 UTF-8
            // 账号 root
            // 密码 admin
  
            Connection c = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/sqltest?characterEncoding=UTF-8",
                            "root", "admin");
  
            System.out.println("连接成功,获取连接对象: " + c);
  
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

4.创建Statement

Statement是用于执行SQL语句的,比如增加,删除

package jdbc;
  
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
  
public class TestJDBC {
    public static void main(String[] args) {
  
        try {
            Class.forName("com.mysql.jdbc.Driver");
  
            Connection c = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/sqltest?characterEncoding=UTF-8",
                            "root", "admin");
  
            // 注意:使用的是 java.sql.Statement
            // 不要不小心使用到: com.mysql.jdbc.Statement;
            Statement s = c.createStatement();
  
            System.out.println("获取 Statement对象: " + s);
  
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
  
    }
}

5.执行SQL语句

s.execute执行sql语句
执行成功后,用mysql-front进行查看,明确插入成功

package jdbc;
  
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
  
public class TestJDBC {
    public static void main(String[] args) {
  
        try {
            Class.forName("com.mysql.jdbc.Driver");
  
            Connection c = DriverManager
                    .getConnection(
                            "jdbc:mysql://127.0.0.1:3306/sqltest?characterEncoding=UTF-8",
                            "root", "admin");
  
            Statement s = c.createStatement();
  
            // 准备sql语句
            // 注意: 字符串要用单引号'
            String sql = "insert into hero values(null,"+"'提莫'"+","+313.0f+","+50+")";
            s.execute(sql);
  
            System.out.println("执行插入语句成功");
  
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
  
    }
}

6.关闭连接

数据库的连接是有限资源,相关操作结束后,养成关闭数据库的好习惯
先关闭Statement
后关闭Connection

package jdbc_test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class jdbcteset {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Statement s=null;
		Connection c=null;
		 try {
	            //驱动类com.mysql.jdbc.Driver
	            //就在 mysql-connector-java-5.0.8-bin.jar中
	            //如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException
	            Class.forName("com.mysql.jdbc.Driver");   //初始化驱动类com.mysql.jdbc.Driver
	            System.out.println("数据库驱动加载成功 !");
	            //建立与数据库的Connection连接
//			            这里需要提供:
//			            数据库所处于的ip:127.0.0.1 (本机)
//			            数据库的端口号: 3306 (mysql专用端口号)
//			            数据库名称 how2java
//			            编码方式 UTF-8
//			            账号 root
//			      密码 admin
	            c = DriverManager.getConnection(
	                            "jdbc:mysql://127.0.0.1:3306/sqltest?characterEncoding=UTF-8",
	                            "root", "123456");
	  
	            System.out.println("连接成功,获取连接对象: " + c);
	         // 注意:使用的是 java.sql.Statement
	            // 不要不小心使用到: com.mysql.jdbc.Statement;
	            s = c.createStatement();
	  
	            System.out.println("获取 Statement对象: 成功!" );
	            for(int i=1;i<101;i++)
	            {
	            	String sql="insert into hero values(null,'英雄"+i+"',313.6,50)";
	            	s.execute(sql);
	            }
	            
	            
	            System.out.println("success!");
	            
	   
	        } catch (ClassNotFoundException | SQLException e) {
	            // TODO Auto-generated catch block
	            e.printStackTrace();
	        } finally {
	        	if(s != null)
	        		try { 
	        			s.close();
	        			System.out.println("statement关闭成功!");
	        		}catch(SQLException e) {
	        			e.printStackTrace();
	        		}
	        	if(c!=null)
	        		try {
	        			c.close();
	        			System.out.println("connection关闭成功!");
	        		}catch(SQLException e) {
	        			e.printStackTrace();
	        		}
	        }

	}

}

发布了374 篇原创文章 · 获赞 101 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_41325698/article/details/103275731
今日推荐