【DAY_02】IDEA环境下,使用JDBC连接MySQL数据库,并进行增删改查

【省略了配置tomcat和安装IDEA的过程。】文章介绍了如何配置MySQL,如何通过JDBC连接数据库,以及如何实现对数据库的增删改查。

 

一、常见问题

1.安装mysql卡在最后start service一步:没有删除干净。删除注册表里所有的mysql相关就可以了。

2.execute、executeUpdate、executeQuery三者的区别(及返回值)

executeQuery executeUpdate(String sql) execute(String sql)
执行SQL查询,并返回ResultSet 对象 可执行增,删,改,返回执行受到影响的行数 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet
ResultSet rs = prst.executeQuery();
while (rs.next()) {...}
返回int

返回boolean

 

 

 

二、配置MySQL

以前安装过MySQL的,再次安装会遇到问题,这时候要看是否将MySQL删除干净了。

1.卸载软件,通过控制面板 2.删除文件夹,在安装目录和C:ProgramData隐藏文件夹下 3.删除注册表中的mysql相关内容

删除HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesEventlogApplicationMySQL文件夹 删除HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesEventlogApplicationMySQL文件夹。 删除HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationMySQL的文件夹。

参考文章:https://www.cnblogs.com/jpfss/p/6652701.html

 

 

 

三、连接数据库

1.项目目录:

 

2.导入jar包,这里我用的是mysql-connector-java-5.1.30.jar,在官网找半天没有下载成功,最后是在这个网站下载的:http://maven.outofmemory.cn/mysql/mysql-connector-java/5.1.30/

 

3.连接数据库

 

4.数据库中建表 我在test数据库中建立了student表格,随意输入了两条信息作为测试数据,如下图:

 

5.测试代码 DBTest中:

package com.dgd.test;

import java.sql.*;

/**
 * @author Dgd
 * @create 2017-10-16-21:25
 * 测试数据库
 */
public class DBTest {
    //mysql驱动包名
    private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
    //数据库连接地址
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    //用户名
    private static final String USER_NAME = "root";
    //密码
    private static final String PASSWORD = "123456";
    public static void main(String[] args){
        Connection connection = null;
        try {
            //加载mysql的驱动类
            Class.forName(DRIVER_NAME);
            //获取数据库连接
            connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
            //mysql查询语句
            String sql = "SELECT Sname FROM student";
            PreparedStatement prst = connection.prepareStatement(sql);
            //结果集
            ResultSet rs = prst.executeQuery();
            while (rs.next()) {
                System.out.println("用户名:" + rs.getString("Sname"));
            }
            rs.close();
            prst.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

 

 

6.测试成功,显示测试用例

 

 

7.删除一条数据

修改代码如下:

            Statement stmt = connection.createStatement();
            String sql = "DELETE FROM student WHERE Sname='李'";  //mysql查询语句
            stmt.executeUpdate(sql);
            System.out.println("成功删除");
​
            String sql2 = "SELECT * FROM student";
            PreparedStatement prst = connection.prepareStatement(sql2);
            ResultSet rs = prst.executeQuery();//结果集  

 

结果如下:

 

 

7.添加多条数据

修改之前的代码,变为

String sql = "INSERT INTO student VALUES (111,'王'),(222,'钱')";

 

结果如下:

 

8.修改多条数据

修改代码如下:

            Statement stmt = connection.createStatement();
            //String sql = "DELETE FROM student WHERE Sname='李'";  //mysql查询语句
            String sql = "UPDATE student SET Sname = CASE id " +
                    " WHEN 111 THEN '刘' " +
                    " WHEN 222 THEN '孙' " +
                    " END " +
                    " WHERE id IN (111,222) ";
            stmt.executeUpdate(sql);
            System.out.println("成功修改"); 

 

结果如图所示:

原文地址:https://www.cnblogs.com/hikki-station/p/11087453.html