zoukankan      html  css  js  c++  java
  • 【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("成功修改"); 

     

    结果如图所示:

  • 相关阅读:
    C语言-if语句
    C语言-表达式
    C语言-基础
    Java for LeetCode 187 Repeated DNA Sequences
    Java for LeetCode 179 Largest Number
    Java for LeetCode 174 Dungeon Game
    Java for LeetCode 173 Binary Search Tree Iterator
    Java for LeetCode 172 Factorial Trailing Zeroes
    Java for LeetCode 171 Excel Sheet Column Number
    Java for LeetCode 169 Majority Element
  • 原文地址:https://www.cnblogs.com/hikki-station/p/11087453.html
Copyright © 2011-2022 走看看