zoukankan      html  css  js  c++  java
  • java--JDBC连接MySQL数据库基本操作

    刚开始练习使用MySQL时会有很多问题出现,总结我出现的问题


    必要环境:

    1.当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:mysql-connector-java-5.0.5mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
    2.下载好MySQL连接驱动:mysql-connector-java-5.1.27.jar,将下载好的JDBC放到项目文件夹下,如下图所示:

    3.右键工程名,在java build path中的Add Libraries


    先附上代码

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.Statement;
    
    public class ConnMySQL {
    
    	/**
    	 * java与MySQL的连接
    	 * @param args
    	 */
    	Connection conn=null;
    	public Connection getConnection(){
    		try{
    			Class.forName("com.mysql.jdbc.Driver");  //加载数据库驱动
    			System.out.println("数据库驱动加载成功");
    			String url="jdbc:mysql://localhost:3306/company?useSSL=false";
    			//如果不加useSSL=false就会有警告,由于jdbc和mysql版本不同,有一个连接安全问题
    			
    			String user="root";
    			String passWord="123456";
    			//System.out.println("1");
    			//Connection对象引的是java.sql.Connection包
    			conn=(Connection)DriverManager.getConnection(url,user,passWord); //创建连接
    			System.out.println("已成功的与数据库MySQL建立连接!!");
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		return conn;
    	}
    	//显示数据库中的表
    	public ResultSet listDB(){
    		String sql="show tables;";
    		try{
    			conn=getConnection();
    			Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    					                             ResultSet.CONCUR_READ_ONLY);
    			ResultSet rs=stmt.executeQuery(sql);
    			return rs;
    		}catch(SQLException ex){
    			//ex.printStackTrace();
    			System.out.println(ex.getMessage());
    			return null;
    		}
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		ConnMySQL mysql= new ConnMySQL();
    		
    		mysql.getConnection();
    		ResultSet rest=mysql.listDB();
    		System.out.println("数据库company中有下列数据表:");
    		try{
    			while(rest.next()){
    				System.out.println(rest.getString(1));
    				
    			}
    		}catch(SQLException e){
    			e.printStackTrace();
    		}
    	}
    
    }
    

    1. 安装MySql服务器(报错:Access denied for user 'root'@'localhost' (using password: YES))

    找到后my.ini的文件(默认在C:ProgramDataMySQLMySQL Server 5.7下),

    1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(WIN7默认安装,my.ini在C:ProgramDataMySQLMySQL Server 5.6)
    2. 重启MySQL服务。
    3. 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(WIN7默认安装,BIN目录为:C:Program FilesMySQLMySQL Server 5.6in)
    4. 执行“use mysql;”,使用mysql数据库。
    5. 执行“ update MySQL.user set authentication_string=password('123456') where user='root'”(修改root的密码)
    6. 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
    7. 重启MySQL服务。
    8. 在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。

    2.连接安全报错

    如果不加useSSL=false就会有警告,由于jdbc和mysql版本不同,有一个连接安全问题
    比如:String url="jdbc:mysql://localhost:3306/company?useSSL=false";(正确的写法)

    3.连接包的引用

    Connection对象引的是java.sql.Connection包(默认我的是给我引入的是import java.sql.DriverManager;会报错)

    以上是我遇到的一些基本问题

  • 相关阅读:
    周易:简易、变易、不易
    2018.net面试题汇总
    关于《推荐系统实践》
    设计模式指引
    facebook的工程开发,不得不佩服
    eclipse自动补全的设置
    数据智慧工程师——计算机和人类之间的中间人——如何从数据中获取有价值的知识
    (移动位置社会网络中)LBSN:好友关系对人类活动的影响分析
    加快软件开发速度,eclipse最常用的快捷键
    人生是一对一的搏斗
  • 原文地址:https://www.cnblogs.com/liu-ya/p/8675347.html
Copyright © 2011-2022 走看看