Eclipse+MySQL完成数据库连接及基本操作

2017-11-25  本文已影响0人  IcyRoc

A.安装MySql

01.png

1.安装MySql,一路next,execute等待安装过程完成。

02.png

2.在上图1,设置密码为root,之后点击标记2

02.png

3.将上图标记的地方自己设置用户名,密码;没有标记的地方,选择跟上图一样的参数。

02.png

4.点击上图的next,之后一路点击next或execute

02.png

5.点击上图的check,之后点击next

02.png

6.上图显示MySQL安装完毕。

01.png

7.桌面右下角出现标记的图标,表示MySQL安装成功。

01.png

8.右键点击MySql图标,之后点击标记1,出现标记2;标记2分别表示启动,停止,重启数据库。

B.安装navicat,这是一款可视化的数据库管理工具(支持增删改查),支持的数据库包含MySQL等

01.png

1.点击上图的连接,之后点击标记里的MySQL

01.png

2.设置上图标记的内容,之后点击确定。

01.png

3.双击以上标记的按钮,chengchao相当于本地的服务器

01.png

4.鼠标右键点击chengchao,之后点击标记新建数据库

01.png

5.在上图的标记中,输入数据库名,字符集选择和上图相同。

C.新建数据库表

01.png

1.点击标记1,之后点击标记2;

01.png

2.点击标记1,出现标记2;

01.png

3.点击上图标记中的保存,输入表名Student

01.png

4.点击标记Student,出现上图右边的内容

01.png

5.在上图标记1处,输入内容,到尾部在键盘上点击Tab,出现新的一行。之后保存

D.Eclipse连接数据库

01.png

1.新建一个Student类,代码如下

package com.chenhai.dto;
//类的三个属性和数据库中的一一对应
public class Student {
    private String name;
    private int age;
    private String sex;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}
01.png

2.建一个测试包,然后新建Test类,并在Test类中写一个主函数。

3.下载mysql驱动jar包

01.png

4.点击上图标记4,配置mysql驱动jar包。

01.png

5.点击上图标记,安装我们下载的jar包 01.png

6.有上图的标记,表示安装成功

7.进行JAVA端的代码编写及效果测试

package com.chenhai.test;

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

import com.chenhai.dto.Student;



public class Test {

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

        // 获取数据库链接
        // 1.加载数据库连接驱动
        Class.forName("com.mysql.jdbc.Driver");
        // MySQL驱动包为最新DMR版(mysql-connector-java-8.0.8-dmr.jar)时,使用以下类路径
        // Class.forName("com.mysql.cj.jdbc.Driver");

        // 2.向数据库连接驱动提供数据库地址(可带参数),访问账号和访问密码来建立连接
        // 定义URL,NAME和PASSWORD
        String url = "jdbc:mysql://localhost:3358/jdbc_test?serverTimezone=UTC&useSSL=false";
        String name = "IcyRoc";
        String password = "xpc666";
        // 建立连接
        Connection conn = DriverManager.getConnection[图片上传中...(01.png-6996f2-1511588700028-0)]
(url, name, password);

        // 3.conn.isClosed()方法判断连接是否关闭;返回true:连接关闭;返回false:连接未关闭
        if(conn.isClosed()){
            // 返回true:连接关闭
            System.out.println("连接失败!");
        }else{
            // 返回false:连接未关闭
            System.out.println("连接成功!");
        }
    }
}

主函数代码:

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

        // 创建test2对象用来调用getAll()方法
        Test2 test2 = new Test2();

        // 使用foreach循环对查询的结果进行全部遍历,并输出到控制台
        for (Student studentToShow : test2.getAll()) {
            System.out.println(
                    "姓名:" + studentToShow.getName() + "年龄:" + studentToShow.getAge() + "性别:" + studentToShow.getSex());
        }
    }

查询方法代码:

/**
     * 用于查询全部学生信息
     * 
     * @return List<Student> 学生类的集合
     * @throws SQLException
     */
    private List<Student> getAll() throws Exception {

        // 实例化一个学生类的集合listS
        List<Student> listS = new ArrayList<Student>();

        // 建立数据库的连接,同test1中操作,此处是为了简化测试涉及到的类数量,才直接在查询方法类建立连接
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3358/jdbc_test?serverTimezone=UTC&useSSL=false", "IcyRoc", "xpc666");

        // 使用的SQL语句
        String sql = "select * from student";

        // 声明预编译语句对象ps来对SQL语句进行预编译
        PreparedStatement ps = conn.prepareStatement(sql);

        // 声明结果集对象rs用于储存SQL语句执行返回的结果集
        ResultSet rs = ps.executeQuery();

        // 遍历结果集rs,并将学生信息一一添加至学生类的集合listS中
        while (rs.next()) {
            Student s = new Student();
            s.setName(rs.getString("Name"));
            s.setAge(rs.getInt("Age"));
            s.setSex(rs.getString("Sex"));
            listS.add(s);
        }

        // 返回学生类的集合listS
        return listS;
    }
上一篇下一篇

猜你喜欢

热点阅读