code总结——java连接mysql

博客介绍了Java连接MySQL的相关操作。连接的是本地数据库fortest,表名为news3。解决了MySQL远程连接报错问题,通过更改“mysql”数据库“user”表的“host”项。还构建了Maven依赖,完成连接后,提及了增删改查操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java连接mysql

连接的数据库为本地数据库,库名:fortest 表名:news3 ,表内容如下: 

1.解决 mysql远程连接报错: Host * is not allowed to connect to this MySQL server

在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。

use mysql;

update user set host ='%'where user ='root' and host ='localhost';

flush privileges;

2.构建maven依赖

  <dependencies>
   <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.29</version>
    </dependency>
      
  </dependencies>

3.连接mysql,默认进入连接数据库的DATABASE为fortest,用户名root ,密码:123456

package com.jia.connect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class sqlConnect {
    /**
     * 
     * @return Connection
     */
    public static Connection getSqlConnection() {
        Connection sqlClient = null;
        try {
            // 1.加载数据访问驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.连接到数据"库"上去
            sqlClient = DriverManager
                    .getConnection("jdbc:mysql://localhost:3306/fortest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC", "root", "123456");
            
            System.out.println("mysql连接成功,获取连接对象: " + sqlClient);
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return sqlClient;
    }
}

增删改查:

单个查询版本

package com.jia;
import com.jia.connect.sqlConnect;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
    public static void main(String[] args) throws Exception{
        Connection connection = sqlConnect.getSqlConnection();
        Statement statement = connection.createStatement();

        String sql = "select * from fortest.news3 where author = \"Alina Shrourou, B.Sc. (Editor)\"";
        //ResultSet类,用来存放获取的结果集!!
        ResultSet rs = statement.executeQuery(sql);
        while (rs.next()){
            String title = rs.getString("title");
            System.out.println(title);
        }

        rs.close();
        statement.close();
        connection.close();
    }
}

增删改查:

package com.jia;
import com.jia.connect.sqlConnect;
import java.sql.*;
import java.util.ArrayList;

public class Test {
    public static void main(String[] args) throws Exception{
        Connection connection = sqlConnect.getSqlConnection();
        Statement statement = connection.createStatement();

        //ArrayList<String> result = search(statement);
        //delete(statement);
        //insertData(connection);

        statement.close();
        connection.close();
    }

    /**
     * 根据news_id 删除数据,删除成功输出1,否则输出0
     * @param statement
     * @throws SQLException
     */
    public static void delete(Statement statement) throws SQLException {
        String sql2 = "delete from fortest.news3 where news_id = 2999";
        int rs2 = statement.executeUpdate(sql2);
        System.out.println(rs2);
    }

    /**
     * 根据条件查询
     * @param statement
     * @return 包含查询结果的一个list
     * @throws SQLException
     */
    public static ArrayList search(Statement statement) throws SQLException{
        ArrayList<String> result = new ArrayList<>();
        String sql = "select * from fortest.news3 where news_id <200";
        ResultSet resultSet = statement.executeQuery(sql);
        while (resultSet.next()){
            String news_id = resultSet.getString(0);
            String title = resultSet.getString(1);
            String date = resultSet.getString(2);
            result.add(news_id);
            result.add(title);
            result.add(date);
        }
        resultSet.close();
        return result;
    }

    /**
     * 插入一条数据
     * @param connection
     * @throws SQLException
     */
    public static void insertData (Connection connection) throws SQLException {

        String sql = "insert into fortest.news3 values(?,?,?,?,?,?,?)";
        Date date = new Date(new java.util.Date().getTime());
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,3000);
        statement.setString(2,"测试");
        statement.setDate(3,date);
        statement.setString(4,"JWW");
        statement.setString(5,"");
        statement.setString(6,"");
        statement.setString(7,"");
        int result = statement.executeUpdate();
        System.out.println(result);
        statement.close();
    }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值