idea—mysql—增删改查

1.用Idea创建一个普通的Java工程并用JDBC连接数据库

(1)打开Idea,创建Project,File->New->Project,指定JDK安装目录,再点击Next.
再次点击Next,给项目取名,然后点击finish,工程创建成功。

(2)给工程添加各种包和目录文件后如图所示(src->New->Package)

idea mysql 增删改差 idea数据库增删改查_idea mysql 增删改差


(3)创建一个目录,用来放mysql的驱动包,类似eclipse的lib目录:untitled>New->Directory

把mysql的jar包复制粘贴到lib上

(4)把jar包添加到项目里,快捷键:Ctrl+Alt+Shift+S,弹出图示菜单。

idea mysql 增删改差 idea数据库增删改查_idea mysql 增删改差_02


点击图片中最右边的加号,选择第一项:JARs or directories,找到刚才添加的jar包,点击确定,点击Apply,OK

以上就是工程创建的全部内容!

2.数据库的连接七步

(1)加载驱动
(2)创建连接
(3)写sql
(4)得到statement对象
(5)执行sql
(6)得到结果集
(7)关闭资源

代码

package com.test;

import java.sql.*;

public class tesst {
public static void main(String[] args) {

ResultSet resultSet=null;//resultset用来暂时存放数据库查询操作所获得的结果集
    PreparedStatement statement=null;
    Connection connection=null;
    try {
        //1加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2创建连接
        connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zyt?useSSL=true&characterEncoding=utf-8&user=root&password=123456");
        //3.写sql
        String sql="select * from idea";

        //4.得到statement对象
        statement = connection.prepareStatement(sql);
        //5.执行sql
        resultSet = statement.executeQuery();
        //6处理结果集
        while (resultSet.next()){
            System.out.print(" id: "+resultSet.getString(1));
            System.out.print(" username: "+resultSet.getString(2));
            System.out.print(" password: "+resultSet.getInt(3));
            System.out.println("-----------");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        //7关闭资源
        if(resultSet!=null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }

}

}

连接结果

idea mysql 增删改差 idea数据库增删改查_SQL_03

3.数据库的增删查改

(1)基础知识
Connection接口

Connection接口代表与特定的数据库的连接,在连接上下文中进行SQL语句并返回结果。

Statement接口

Statement接口用于已经建立连接的基础上向数据发送SQL语句。在JDBC中有3种Statement对象,分别是Statement、PreparedStatement和CallableStatement。Statement用于执行不带参数的简单的SQL语句;PreparedStatement继承了Statement,用来执行动态的SQL语句;CallableStatement继承了PreparedStatement,用于执行对数据库存储的过程中的调用。

PreparedStatement接口

PreparedStatement接口用来动态地执行SQL语句。通过PreparedStatement实例执行的动态的SQL语句,将被预编译并保存到PreparedStatement实例中,从而可以实现反复执行SQL语句。当向数据库发送一个SQL语句,数据库中的SQL解释器负责把SQL语句生成底层的内部命令,然后执行该命令,完成相关的数据操作。如果不断的向数据库提交SQL语句,肯定会增加数据库中SQL解释器的负担,影响执行速度。
对于JDBC,可以通过Connection对象的prepareStatement(String sql)方法对SQL语句实行预编译,生成数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,通过调用该对象的相应的方法执行底层数据库命令。这样应用程序就能针对连接的数据库,实现将SQL语句解释为数据库底层的内部命令,然后让数据库执行这个命令,这样就可以减轻数据库的负担,提高访问数据库的速度。

DriverManager类

DriverManager类用来管理数据库中的所有驱动程序。他是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立联系。通过getConnection(String url,String user,String password)方法建立连接。

ResultSet接口

ResultSet接口类似于临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet的实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过next()方法可将指针向下移。

增删查改基本步骤

1.在mysql中创建一个表

idea mysql 增删改差 idea数据库增删改查_SQL_04


2.创建三个类

一个User类,用于存储数据用,一个DBUtil类,用于数据库连接操作,一个Test,进行相应的操作.

idea mysql 增删改差 idea数据库增删改查_sql_05


Useer类中的代码

package jdbc.bean;

public class Users {

public Users(String id, String username) {
    this.user_id = id;
    this.user_name = username;
}

private String user_id;
private String user_name;

public String getID(){
    return user_id;
}
public  String getUser_name(){
    return user_name;
}
public void setUser_id(String id){
    this.user_id=id;
}
public void setUser_name(String name){
    this.user_name=name;
}

@Override
public String toString() {
    return "Users{" +
            "user_id=" + user_id +
            ", user_name='" + user_name + '\'' +
            '}';
}


DBUtil中的驱动代码

package jdbc.DBUtil;
import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.Statement;public class util {
public static Connection Getconnection() {
        Connection conn = null;
        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.创建连接
            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zyt?useSSL=true&characterEncoding=utf-8&user=root&password=123456");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static void Close(ResultSet resultset, Connection conn, Statement statement){

        //7.关闭连接
        if (resultset!=null){
            try{
                resultset.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try{
                conn.close();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
        if(statement!=null) {
            try{
                statement.close();
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

}

在User中进行调用,并进行增删改查操作
增操作
代码如下:

package jdbc.bean;

public class Users {

public Users(String id, String username) {
    this.user_id = id;
    this.user_name = username;
}

private String user_id;
private String user_name;

public String getID(){
    return user_id;
}
public  String getUser_name(){
    return user_name;
}
public void setUser_id(String id){
    this.user_id=id;
}
public void setUser_name(String name){
    this.user_name=name;
}

@Override
public String toString() {
    return "Users{" +
            "user_id=" + user_id +
            ", user_name='" + user_name + '\'' +
            '}';
}

以上就是全部内容