精华内容
下载资源
问答
  • 主要介绍了java连接mysql数据库学习示例,需要的朋友可以参考下
  • 主要介绍了Java使用MySQL实现连接池代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java连接Mysql数据库Demo

    2018-01-18 10:20:40
    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识.
  • 最近工作中需要用到mysql连接,发现实现的方法不止一个,所以就来总结下,下面这篇文章主要给大家介绍了关于Java中如何获取mysql连接的3种方法,需要的朋友可以参考借鉴,感兴趣的朋友们下面随着小编来一起学习学习...
  • java基础连接MySQL数据库,实现一个简单的学生信息管理,全部是控制台输出,java基础学习,简单的javase,全部是基础
  • 主要介绍了Java连接Mysql数据库详细代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java连接MySQL数据库步骤

    万次阅读 多人点赞 2019-08-31 17:10:47
    Java连接MySQL数据库步骤 声明,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法 第一, ​ 安装mysql数据库配置(https://www.jianshu.com/p/ea4accd7afb4),安装还有配置教程,按照步骤来肯定没错,里面是...

    Java连接MySQL数据库步骤

    声明,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法

    第一,

    ​ 安装mysql数据库配置(https://www.jianshu.com/p/ea4accd7afb4),安装还有配置教程,按照步骤来肯定没错,里面是win10的mysql解压版安装教程,设置账号密码是一定要注意 :账号一般为root,密码一般为 123456 ,如果你要更改的话一定要记住,因为后面连接需要用到(切记),如果忘了会很麻烦。

    第二,

    ​ 如果是新手的话推荐学一下mysql的语法,认真的话一个星期学会绝对没问题(菜鸟教程网站),学会基本的查询当前电脑有的数据库,使用数据库,创建数据库,创建表,查看数据库中的表,还有对表的增删改查语法,新手不推荐使用视图软件,要记住操作mysql的代码,可以先在 cmd 黑框框中写操作数据库的代码。

    如果要用视图软件的话推荐下一个navicat破解版,自己用可以,不能商用。

    第三,

    ​ 下来就要用java编译器连接数据库了(java连接数据库又叫JDBC)。

    mysql提供的第三方java包,里面配置了连接java连接mysql的默认配置和驱动

    链接:https://pan.baidu.com/s/1Z_ztiTEGloX7r3ilZoZsCg
    提取码:0f1s

    创建项目->

    在这里插入图片描述

    创建文件夹起名为lib(把上面下载的包复制到lib文件夹下,直接复制粘贴就好了)->

    在这里插入图片描述

    鼠标右击复制过来的包导入项目导为jar包(在后面写连接代码时可以直接用)->

    在这里插入图片描述
    在这里插入图片描述

    导入成功是这样子
    在这里插入图片描述

    创建两个包,一个存放连接数据库的代码,一个存放数据库中的表信息(pojo)

    com.pojo在这个包里创建的类用来存放你的表中字段,存放实体类,必须满足javaBean(一个表就是一个类,类中属性就是表中字段)
    在这里插入图片描述

    连接步骤(这个很重要)(代码中都有注释):

    1.导jar包,前面已经导过了

    2.在连接类里写代码,加载mysql驱动(要写在代码块里,因为要连接必须最先加载驱动),代码块在加载类时就执行,在构造方法之前(注意是代码块{},不是方法)

    //连接信息	
    private String userName = "root";//这里是你最开始刚下载mysql是输入的账号
    	private String password = "123456";//这里是你最开始mysql设置的密码,
    	private String url = "jdbc:mysql://localhost:3306/testdatabase";
    //数据库连接信息,
    //第一个是java连接数据库协议,中间的是要连接的ip地址和端口号,localhost是本地ip,后面的是你要连接的数据库的名字,我要连接数据库的名字叫testdatabase
    	
    
    
    {
    		try {
        	//这里不用更改,如果你要连的不是mysql的话再换这个括号内的代码
    			Class.forName("com.mysql.jdbc.Driver");
    			System.out.println("驱动加载成功!");
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			System.out.println("加载失败!");
    			e.printStackTrace();
    		}
    
    }

    3.创建连接数据库(这里在构造方法里连接)

    public DataBaseConnection() {
    		// TODO Auto-generated constructor stub
    		try {
    			this.connection =  DriverManager.getConnection(url, userName, password);//把上面的三个属性传过来,应该就连接成功了,不成功的话应该就是你的账号密码不正确
    			System.out.println("数据库连接成功!");
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			System.out.println("连接失败!");
    		}
    	}

    4.第四步就是操作数据库了

    这里写一个往数据库里增加数据的代码

    创建方法名叫insert

    先想步骤

    ​ 1.写sql语句(就是你们在菜鸟教程里学的sql语句),菜鸟教程是个非常好的网站

    ​ 2.从连接中获得操作数据库句柄

    ​ 3.设置参数

    ​ 4.就是执行sql语句了

    //这里传一个类对象参数Emp emp,就相当于String str 差不多
    //都是引用数据类型,类,数组,接口
    public void insert(Emp emp){
    		//1.写sql语句
    		String str = "INSERT emp VALUES (?,?,?,?,?,?,?,?)";
    		PreparedStatement ps = null;
    		//2.获取操作数据库句柄
    		try {
    			//把操作数据库返回的结果保存到ps中
    			ps = connection.prepareStatement(str);

    		//3.设置参数
    		ps.setInt(1, emp.getEmpno());
    		ps.setString(2, emp.getEname());
    		ps.setString(3, emp.getJob());
    		ps.setInt(4, emp.getMgr());
    		ps.setDate(5, emp.getDate());
    		ps.setInt(6, emp.getSal());
    		ps.setInt(7, emp.getComm());
    		ps.setInt(8, emp.getDeptno());
    		
    		//4.执行sql语句
    		int len = ps.executeUpdate();
    		System.out.println("修改成功,共影响了"+ len +"行!");
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}finally{
    		if(ps != null){
    			try {
    				ps.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    	//关闭数据库的方法
    	public void closeConnection(){
    		if(connection != null){
    			try {
    				connection.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    }
    

    我的Emp类,就是我存放数据库中emp表中字段的类(你要按照你的数据库中字段来创建类)

    ​ private Integer empno;//因为Integer类型可以判断是否为空
    ​ private String ename;
    ​ private String job;
    ​ private Integer mgr;
    ​ private Date hiredate;
    ​ private Integer sal;
    ​ private Integer comm;
    ​ private Integer deptno;

    public Emp() {
    	// TODO Auto-generated constructor stub
    }
    
    //创建有参构造方法,方便赋值
    public Emp(Integer empno, String ename, String job, Integer mgr, Date hiredate, Integer sal, Integer comm,
    		Integer deptno) {
    	super();
    	this.empno = empno;
    	this.ename = ename;
    	this.job = job;
    	this.mgr = mgr;
    	this.hiredate = hiredate;
    	this.sal = sal;
    	this.comm = comm;
    	this.deptno = deptno;
    }
    
    
    public Integer getEmpno() {
    	return empno;
    }
    
    public void setEmpno(Integer empno) {
    	this.empno = empno;
    }
    
    public String getEname() {
    	return ename;
    }
    
    public void setEname(String ename) {
    	this.ename = ename;
    }
    
    public String getJob() {
    	return job;
    }
    
    public void setJob(String job) {
    	this.job = job;
    }
    
    public Integer getMgr() {
    	return mgr;
    }
    
    public void setMgr(Integer mgr) {
    	this.mgr = mgr;
    }
    
    public Date getHiredate() {
    	return hiredate;
    }
    
    public void setHiredate(Date hiredate) {
    	this.hiredate = hiredate;
    }
    
    public Integer getSal() {
    	return sal;
    }
    
    public void setSal(Integer sal) {
    	this.sal = sal;
    }
    
    public Integer getComm() {
    	return comm;
    }
    
    public void setComm(Integer comm) {
    	this.comm = comm;
    }
    
    public Integer getDeptno() {
    	return deptno;
    }
    
    public void setDeptno(Integer deptno) {
    	this.deptno = deptno;
    }
    //重写toString方法,方便测试,因为输出的是一个对象的话,java默认调用toString方法
    @Override
    public String toString() {
    	return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + ", date=" + hiredate
    			+ ", sal=" + sal + ", comm=" + comm + ", deptno=" + deptno + "]";
    }

    最后创建一个测试类(Test),包含main方法,在main方法里写

    在这里插入图片描述

    
    
    	DataBaseConnection dbs = null;
    
    try{
    
    	//创建连接数据库类对象
    
    	dbs = new DataBaseConnection();
    
    	//创建你的表类对象,表类对象就是你存放在pojo中的类,存放表中字段的类,例如我的类为Emp
    
    	//把类中的属性赋值
    
    	Emp emp = new Emp8889, "刘备", "股东", 0, new    							Date(System.currentTimeMillis()), 110, 1000000, 100);                   
    
    	//调用你写的insert类,里面把类对象传进去
    
    	 dbs.insert(emp);
    
    }finally{
    
    //奥,对了,为了防止资源浪费,不管你程序执没执行成功,你都必须关闭数据库
    
    	//需要在你的连接类中写一个关闭数据库的方法
    
    	//上面的代码中我又添加上了,就不用你写了
    
    	dbs.closeConnection();
    
    }

    最后你再查看你数据库中表中数据应该就插入了一条记录。

    ​ 再次强调,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法,千万不要拷贝拿去用,因为就算你跟我的一模一样,你还是不懂。

    ​ 如果学习过程中有什么麻烦就请加我qq交流。

    作者qq:1271224158

    展开全文
  • 本文档详细讲解了JDBC如何与MYSQL连接,并进行增删改查,以及批量更新,数据库事务的特性,以及数据库的四种隔离级别
  • Go ahead. Take a chance. 去吧,去抓住机会! 你是否像我一样,学了java,学过数据库,但却从来没有使用java连接过数据库?如果是,那么continue,如果否,那么你可以return;...java连接mysql数据库相关...

    Go ahead. Take a chance.
    去吧,去抓住机会!

    你是否像我一样,学了java,学过数据库,但却从来没有使用java连接过数据库?如果是,那么continue,如果否,那么你可以break;这篇博客先从安装mysql开始,然后在mysql中创建表,最后在eclipse中编写java程序连接mysql,并访问表中内容。

    1. MySQL数据库的下载
    2. 介绍下载好的MySQL数据库并在MySQL数据库中创建表。
    3. .java连接MySQL数据库的前期准备。
    4. 编写java代码连接mysql数据库
    5. 简单测试源码及效果图
    6. 总结

    一.MySQL数据库的下载

    1.我下载的是mysql-installer-community-5.7.17.0版本,可以点击这个链接下载>>>https://pan.baidu.com/s/1A7V0txbAGVhyhb9gHyOf0A
    2.下载到本地以后,如下图所示。在这里插入图片描述
    3.点击安装以后,在C盘可以看到
    在这里插入图片描述
    3.现在MySQL数据库就安装完毕了。

    二.介绍下载好的MySQL数据库并在MySQL数据库中创建表。

    1.要使用数据库,首先找到平台,那么我们下载好的数据库在哪里呢?我们可以在右下角找到它,也可以在开始菜单中找到它。
    在这里插入图片描述
    在这里插入图片描述
    2.我们点击进入后,界面如下图
    在这里插入图片描述
    除了图2部分,剩下的就是一开始的界面了。图二是新建的一个数据库,可以根据图三的”+”来创建。

    3.点击图一,输入对应的账号密码(就是安装的时候设置的账号和密码)如果账号密码没有错,就能看到以下的登录成功界面。
    在这里插入图片描述
    4,这个界面东西多,看起来似乎无从下手。不过我们只需要看左下方的一小部分,让我放大视角,看看我们在哪里创建表。
    在这里插入图片描述
    5.红色框中就是我们创建表的区域。这里要特别注意的是,sys是系统的数据库,最好不要去动。通常我们根据需求创建自己的数据库,比如我们需要创建表,我们就先创建一个叫test的数据库,在这个数据库中去创建表。那么创建数据库的操作是怎样呢?我们只需要在这个区域鼠标右键选择第一个,等待弹出一个界面,如下图所示。红色框一是给这个数据库取个名字,红色框二是设置字符编码,这个我们通常设置utf-8
    最后按下Apply。按下后有几个弹框,按OK或Apply就行了。
    在这里插入图片描述
    6.最后如下图,可以看到我的数据库创建出来了。
    在这里插入图片描述
    7.在test下的Table那里右键选择create Table来创建表,如下图,我创建了一个名叫mytest的表,编码还是设置为utf-8。。
    在这里插入图片描述
    8上图点击Apply显示执行成功后,我们就把表做好了。
    在这里插入图片描述
    9.现在我在mytest右键选择第一项,出现下图所示,直接按要求填入数据。
    在这里插入图片描述
    在这里插入图片描述
    10.数据填完后就点击右下角Apply,每次点击Apply代表你向MySQL数据库提交修改信息。只有返回成功才代表成功执行。现在就把表弄好了。mytest右键选择第一个(Select Rows -Limit 50),可以查看。

    三.java连接MySQL数据库的前期准备。

    1.首先,我们去找jar包,默认安装在C:\Program Files (x86)\MySQL\Connector.J 5.1目录下面。
    在这里插入图片描述
    2.复制该jar包。打开eclipse。新建java project,在新建的java project下新建一个Folder,将复制的jar包粘贴进这个Folder里,然后选择这个新建的Folder里的jar包,在jar包上右键Build Path并选择第一个,这就算是引入了jar包了,如下图所示。
    在这里插入图片描述

    四.编写java代码连接mysql数据库

    1.注册。Class.forName("com.mysql.jdbc.Driver");//注册

    2.获取连接。

     connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","root");//连接数据库
    			 statement=connection.createStatement();
    

    3.连接后,执行SQL语句

     resultSet=statement.executeQuery("select * from mytest");
    

    4.总的来说就这四行代码。

    五.简单测试源码及效果图

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class JavaConnetMySQL {
    
    	public static void main(String[] args) {
    		Connection connection=null;
    		Statement statement=null;
    		ResultSet resultSet=null;
    		try {
    			Class.forName("com.mysql.jdbc.Driver");//注册
    			 connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false","root","root");//连接数据库
    			 statement=connection.createStatement();
    			 resultSet=statement.executeQuery("select * from mytest");
    			while(resultSet.next()) {
    				System.out.println(resultSet.getString(1)+resultSet.getString(2)+resultSet.getString(3));
    			}
    		} catch (Exception e) {
    			System.out.println(e);
    		}finally {
    			if(resultSet!=null)
    				try {
    					resultSet.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			if(statement!=null)
    				try {
    					statement.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			if(connection!=null)
    				try {
    					connection.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			
    		}
    	}
    
    }
    
    

    在这里插入图片描述

    六.总结

    这是我第一次用java连接数据库,这篇博客从MySQL的安装到最后的执行java代码,控制台能完整的输出查询的信息,整个过程我认为都是记录的非常详细的。java操作数据库是程序员必须掌握的技能。有了这次对java操作数据库的学习,大致能够掌握java如何操作数据库,而且同时也复习了一下SQL语句,是一举多得的事情。

    展开全文
  • Java连接mysql实现crud

    2018-09-14 09:28:58
    Java编写链接mysql数据库,内附sql文件,有注释,适合新手学习
  • 主要给大家介绍了关于通过Java连接mysql对反斜杠”“转义的测试的相关资料,文中通过实例代码介绍的非常详细,对大家理解反斜杠”“转义具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • 主要介绍了java连接mysql数据库代码实例程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java连接mysql代码

    2013-10-23 23:21:00
    用于刚开始学习java连接mysql数据库的,也用于自己备忘的。
  • 学习java过程中做到了这个实验,感觉很有意思,资源包含上课用到的java数据库连接java窗体设计的ppt,以及程序中用到的jdbc,源程序和sql文件。
  • 主要介绍了Java连接mysql数据库的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • Java连接Mysql基本语法

    千次阅读 2018-11-07 21:06:52
    Java连接Mysql基本语法 (1)简介: Mysql基本语法与当前市场上的各大主流的关系型数据库差不多,如果你已经掌握SQL server或oracle数据库,那Mysql的基本语法学习起来就非常轻松了;如果你掌握一门编程语言(C++...

    Java连接Mysql基本语法


    (1)简介:

    Mysql基本语法与当前市场上的各大主流的关系型数据库差不多,如果你已经掌握SQL server或oracle数据库,那Mysql的基本语法学习起来就非常轻松了;如果你掌握一门编程语言(C++、Java、Python)那Mysql的语法就是小巫见大巫了。本篇主要由浅入深的学习java中的JDBC(Java DataBase Connection)与Mysql的关联与优化。


    (2)JDBC与Mysql基础

    • connect Mysql数据库

    // 注册MySQL驱动 (可以省略这一步)
    
      Class.forName("com.mysql.jdbc.Driver");
    
    // 连接MySQL服务器
    
      String username= "root";
    
      String password = "a1b2c3";
    
     String connectionUrl = 
      "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8";
    
     Connection conn = DriverManager.getConnection(connectionUrl, username, password);
    
     System.out.println("连接成功!");

    说明:jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8

    127.0.0.1host,服务器地址

    3306mysql默认端口号

    af_school:指定的数据库

    useUnicode=true&characterEncoding=UTF-8字符编码指定

     

    • sql操作

    1. select查询
    // 数据库查询, Statement语句  ResultSet结果集
    Statement stmt = conn.createStatement();
    
    ResultSet rs = stmt.executeQuery("SELECT * FROM student");   
    
    //如果有数据,rs.next()返回true
    while(rs.next())
     {
    
       // 取出这一行记录
    
        int id = rs.getInt("id");
    
        String name = rs.getString("name");
    
        String phone = rs.getString("phone"); // 可能为null
    
        Date birthday = rs.getDate("birthday");
    
     }
    1. insert into 插入

            

    //编写sql语句
    String sql = "INSERT INTO student(`id`,`name`,`birthday`) "
    
                       + "VALUES ('20181200', '韩', '1997-4-19') ";
    
       System.out.println("SQL: "+ sql);
    
    
    
    //执行insert into sql语句
    Statement stmt = conn.createStatement();//与数据库交互
    
    stmt.execute(sql);
    
    int count = stmt.getUpdateCount();
    
    System.out.println("受影响的行数为: " + count);
    1. update修改
    //编写sql语句
    String sql = 
     "UPDATE student SET `name`=’沈’ , `birthday`=’1997-09-01’ WHERE `id` = 20180001 ";
    
    System.out.println("SQL: "+ sql);
    
    
    //执行UPDATE sql语句
    Statement stmt = conn.createStatement(); //与数据库交互
    
    stmt.execute(sql);
    
    int count = stmt.getUpdateCount();
    
    System.out.println("受影响的行数为: " + count);

    (3)关闭连接,释放资源

             conn.Close();

             System.out.println(“关闭数据库连接”);

      说明:这里的conn就是前面①创建的conn

    以上就是JDBC与MySQL最基本的连接、操作、关闭方法;接下来介绍预处理查询的方法。


    (4)预处理查询

          

    // 注册MySQL驱动 (可以省略这一步)
    Class.forName("com.mysql.jdbc.Driver"); 
    
    
    // 连接MySQL服务器
      String username= "root";
    
      String password = "a1b2c3";
    
     String connectionUrl =                                                                                                          
      "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8";
    
      Connection conn = DriverManager.getConnection(connectionUrl, username, password);
    
      System.out.println("连接成功!");
    
                      
    
      //预处理查询
          // 1 构造一个SQL, 参数值用?号代替,称为占位符
          String sql = "INSERT INTO student (id,name,birthday) VALUES (?, ?, ?) ";
    
         // 2 创建 PreparedStatement 对象 ( 与MySQL产生一次交互 )
          PreparedStatement ptmt = conn.prepareStatement(sql);                   
    
         // 3 设置参数值
           ptmt.setInt(1, 20183001);
    
           ptmt.setString(2, "小新");     
    
           ptmt.setString(3, "1993-3-10");
                      
          // 4 执行查询
           ptmt.execute();                
    
    
     //关闭连接释放资源
       conn.close();
    
       System.out.println("关闭连接!");

    说明:由以上代码可知,JDBC的预处理查询的方法就是提前与数据库进行交互(指定了SQL语句的模版),之后就可以进行多次的相同操作(这里就是向数据库中插入数据)而不用重复的与数据库交互(conn.createStatement();)。

             为什么要这样做呢?

    我们知道与数据库进行交互相较与sql执行操作是很费时间的(不信可以用Calendar calendar=Calendar.getInstance();  long time=calendar.getTimeInMillis(); 来进行测试,不过前提是数据表中的数据不能太多上万条以上…),于是当我们要进行相同的sql操作时当然选择预处理查询的方式应该更加有效。

    注:并不是所有的数据库都支持预处理查询技术(MySQL是支持的),如果你所用的数据库不支持,那么用预处理查询并不会报错,而是会按照普通的方式来进行一次数据库交互一次execute()。

     

           下接JDBC的拓展知识见https://blog.csdn.net/biggerchong/article/details/83831698

    感谢您的学习!欢迎一起探讨!

     

    展开全文
  • Ubuntu Java连接mysql数据库

    千次阅读 2018-09-29 13:07:54
    最近准备着手写一个类似‘QQ’的聊天软件玩玩,在登录问题上想到用数据库来存储数据,在学习Java连接数据库时碰到不少问题,所幸,都解决了。下面说说我的学习过程。全程是在Ubuntu16.04下进行操作。不过应该和...

    最近准备着手写一个类似‘QQ’的聊天软件玩玩,在登录问题上想到用数据库来存储数据,在学习Java连接数据库时碰到不少问题,所幸,都解决了。下面说说我的学习过程。全程是在Ubuntu16.04下进行操作。不过应该和Window下的区别不大。可以参考。

     

    第一步:准备工作,需要安装好mysql数据库(教程),eclipse编程工具(非必须),Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,选择Ubuntu下载,下载后得到一个deb文件,用归档管理器打开,找到名为mysql-connector-java-8.0.12.jar的文件(版本可能不一样,但大致是这个样子),然后在对应(需要连接数据库的)的项目中创建一个名为lib的文件夹,将找到的文件放入该文件夹下。打开eclipse,找到刚才放到lib文件夹下的文件,右键单击,选择 Build Path,Add To Build Path。这样准备工作就做好了,最后,放个图。

     

    第二步: 写代码,直接看代码,注释很清楚,若不能运行,看下方解决方法。

    package testone;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class ConnSql {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String driver = "com.mysql.cj.jdbc.Driver";	//驱动名,默认
    		String url = "jdbc:mysql://localhost:3306/testone?serverTimezone=GMT&useSSL=false";	//将要访问的数据库名称testone
    		String user = "root";	//mysql数据库用户名
    		String password = "root";	//mysql数据库用户密码
    		
    		try {
    			Class.forName(driver);	//加载驱动
    			Connection conn = DriverManager.getConnection(url, user, password);	//创建connection对象,用来连接数据库
    			if(!conn.isClosed())
    				System.out.println("Succeed!");
    			Statement state = conn.createStatement();	//创建statement对象,用来执行sql语句
    			String sql = "select * from login;";	//执行的sql语句
    			ResultSet rst = state.executeQuery(sql);	//创建resultset对象,用来存放查询结果
    			while(rst.next()) {
    				System.out.println(rst.getString("name"));	//输出表中列为‘name’的所有项
    			}
    			rst.close();
    			state.close();
    			conn.close();
    			
    		}catch(Exception e) {
    			System.out.println("defeat!");
    			System.out.println(e);
    		}
    	}
    
    }
    

    结果

     

    附:数据库信息

    数据库名称:testone

    使用的数据库表:login

    数据库用户:root

    用户密码:root

     

    遇到的问题

    说说我遇到的问题,首先,驱动名为"com.mysql.cj.jdbc.Drive",在网上看到都是"com.mysql.jdbc.Drive"这个,经测试,我的是不能用的,出现 :

    Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

    然后就是url的问题,"jdbc:mysql://localhost:3306/testone?serverTimezone=GMT&useSSL=false",网上的为"jdbc:mysql://localhost:3306/testone",这个是无法运行的,出现警告:

    Thu Sep 27 04:11:22 PDT 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

    java.sql.SQLException: The server time zone value 'PDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

    上面一条是指Mysql数据库的SSL连接问题,提示警告不建议使用没有带服务器身份验证的SSL连接,是在MYSQL5.5.45+, 5.6.26+ and 5.7.6+版本中才有的这个问题。解决办法在警告中已经说明了:

        1.在数据库连接的url中添加useSSL=false;

        2.url中添加useSSL=true,并且提供服务器的验证证书。

    如果只是做一个测试的话,没必要搞证书那么麻烦啦,在连接后添加一个useSSL=false即可。

     

    下面一条是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可。

    两点问题,都加在url的后面,所以url改为:"jdbc:mysql://localhost:3306/testone?serverTimezone=GMT&useSSL=false",两个参数间用&连接,自己测试得出。

     

    小知识

     

    SQL注入: 在执行sql语句时,由于sql语句的值是由用户输入的,所以是以变量接收的,如果以拼接字符串方式来执行SQL语句,一旦数据中有非法字符或者有关键字时,会导致语法错误,或者执行结果不正确的情况,这称为SQL注入。
    Statement和PreparedStatement的区别

    Statement是PreparedStatement 的父接口。在执行SQL语句时,只能以拼接字符串方式,拼接值。会引起SQL注入。而且效率低。

    PreparedStatement,是预编译SQL语句执行对象,支持占位符方式,无论数据是什么值,都当字符串处理,不会引起SQL注入。而且效率高。

     

    Statement和PreparedStatement的基本用法

    Connection conn = DriverManager.getConnection(url, user, password);
    String sql = "select * from login;";	//执行的sql语句
    
    Statement state = conn.createStatement();
    //PreparedStatement sta = conn.prepareStatement(sql);
    
    ResultSet rst;
    int count;
    
    count = state.executeUpdate("增删改的sql语句");    //返回更改的结果数
    rst = state.executeQuery("查询的sql语句");    //返回结果集
    //count = sta.executeUpdate("增删改的sql语句");    //返回更改的结果数
    //rst = sta.executeQuery("查询的sql语句");    //返回结果集

     

     

    参考博客:

    https://blog.csdn.net/u010429286/article/details/77750177  (SSL连接问题)

    https://blog.csdn.net/oppo5630/article/details/52162783 (时区问题)

    展开全文
  • (JDBC学习Java连接Mysql数据库,实现初始登录注册作者想说的话代码要求描述涉及类的主要作用描述#JDBCUtils类#JDBC.properties文件#jdbc_test类运行结果 作者想说的话 本篇作品为自己为了学业所做作业,若有问题...
  • Java连接MySQL数据库(多种连接方法)

    千次阅读 2018-12-31 14:54:12
    其中数据库技术在Java学习中也是相当重要的,今天就简单介绍一下JavaMySQL数据类的 1.提前准备 - 下载并安装MySQL数据库 - 下载并在eclipse中导入Java--MySQL连接器(ODBC) (两个连接器导入其中任意一个...
  • 【java 操作mysql】java连接mysql数据库并查询数据

    万次阅读 多人点赞 2017-12-24 11:03:55
    1、java连接mysql 2、java查询mysql数据。 3、java插入mysql数据。 4、java更新mysql数据。 5、java删除mysql数据。 6、java执行mysql存储过程。 ide: IntelliJ IDEA2017 这里必不可少的需要导入mysql-connector
  • java连接MySql数据库(源码)

    千次阅读 2018-08-07 12:43:06
    java连接MySql数据库(源码) —————————————————————————————————————————————————————— 准备工作 1.下载一个mysql-connector-java-.jar包。 百度...
  • java连接mysql数据库的详细步骤

    万次阅读 多人点赞 2016-11-28 15:48:07
    java连接mysql数据库的详细步骤 连接说明: a、mysql连接的驱动 b、mysql数据库的安装 c、eclipse e、数据库服务是否打开(控制面板——管理工具——服务——找到mysql对应服务) f、创建一个数据库 1、...
  • java连接mysql8.0.22数据库:jdbc

    千次阅读 2021-01-03 20:49:00
    文章目录java连接数据库:jdbc一、数据库:MYSQL二、启动数据库1.启动服务三、通过IDEA连接数据库1.jar包四,写代码连通数据库代码奉上总结 java连接数据库:jdbc 提示:以下是本篇文章正文内容,下面案例可供...
  • java初学者——java连接数据库,JDK1.8+MySql8.0

    万次阅读 多人点赞 2019-03-31 11:49:09
    本人java菜鸟一名 ,通过写博客记录一下自己的学习过程,本次和大家分享一下自己在连接数据库时的出现的问题。 一、安装MySql 安装社区服务器版: 官网下载地址:https://dev.mysql.com/downloads/ 参考网上的...
  • java 连接mysql 数据库 实现增删改查
  • 里面是java连接数据库实现老师增删改查的部分功能,已经实现增加功能。其他模仿即可
  • ubuntu环境下,Java连接MySQL数据库

    千次阅读 2017-10-28 14:23:51
    其实,在ubuntu环境下,Java的编程与windows系统的差别并不是很大。毕竟Java是跨平台的面象对象的...jar包:mysql-connector-java-5.1.44-bin.jar、commons-dbutils-1.7.jar 下载:MySQL:(https://dev.mysql.co...
  • 就是java连接MySQL需要的那个jar包,5积分意思一下。里面有一个笔记(笔记版权归原作者所有仅用来学习,侵删)不想花积分可以去官网下:https://dev.mysql.com/downloads/file/?id=506032
  • 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...
  • MySQL数据库从入门到实战课

    万人学习 2019-12-31 14:09:39
    学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,512
精华内容 48,204
关键字:

java连接mysql学习好处

java 订阅
mysql 订阅