1. 程式人生 > 其它 >java Maven 使用 JDBC 訪問 MySql 資料庫

java Maven 使用 JDBC 訪問 MySql 資料庫

java Maven 使用 JDBC 訪問 MySql 資料庫

在 pom.xml 中加入

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

我的mysql 版本是 5.1.30

新建 MySqlUtil.java 檔案

package com.JavaMySqlJdbc.dbMySql;

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


public class MySqlUtil {
    //是否連線資料庫
    public static String mysql_open="false";
    //資料庫連線地址
    public static String mysql_url="jdbc:mysql://localhost:3306/callcenter2_db";
    
//使用者名稱 public static String mysql_username= "root"; //密碼 public static String mysql_password ="";//admindljjk //驅動名稱 public static String mysql_driver = "com.mysql.jdbc.Driver"; private static Connection conn = null; public static Connection getConn() { try { Class.forName(mysql_driver); conn
= DriverManager.getConnection(mysql_url, mysql_username, mysql_password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); closeConn(); } return conn; } public static void closeConn(){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }

App.java

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
import java.util.UUID;

import com.JavaMySqlJdbc.dbMySql.MySqlUtil;
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!-------JavaMySqlJbdc-------------" );
 

        MySqlUtil.mysql_url = "jdbc:mysql://localhost:3306/callcenter2_db_rencai?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        MySqlUtil.mysql_username = "root";
        MySqlUtil.mysql_password = "";
        MySqlUtil.mysql_driver = "com.mysql.jdbc.Driver";

        System.out.println( "url:   " +MySqlUtil.mysql_url);

        //查詢----------------------------------------------------------
        String strPassword=getPasswordByUserName("管理員8001");
        System.out.println( "密碼:   " +strPassword);

        //新增--------------------------------------------------------------
        //SQL語句
        String strId = UUID.randomUUID().toString();//唯一碼
        String event = "event 2323";
        String callid = "callid 132343298432";
        String surveyresult = "2";
        String sn = "3121231231.02131";

        String sql = "insert into ls_satisfaction ";
        sql = sql + " (id,event1,callid,surveyresult,sn ) ";
        sql = sql + " values ('"+strId+"','"+event+"','"+callid+"','"+surveyresult+"','"+sn+"' ) ";
        int intResult=ExecuteUpdate(sql);
        System.out.println( "執行結果:   " +intResult);
    }

    private static int ExecuteUpdate(String sql) {

        Connection conn = MySqlUtil.getConn();
        Statement stmt = null;
        //ResultSet ret = null;
        int intResult = -1;
        try {
            stmt = conn.createStatement();
            //執行語句,得到結果集
            intResult = stmt.executeUpdate(sql);
            if(intResult>0)
            {
                //影響一行以上
            }else{
                //沒有影響一行
            }
            conn.close();//關閉連線
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        return intResult;
    }
    //查詢
    private static String getPasswordByUserName(String userName) {
        //SQL語句
        String sql = "select user_password from user where user_name = " + "'" + userName + "'";
        Connection conn = MySqlUtil.getConn();
        Statement stmt = null;
        ResultSet ret = null;
        String password = null;
        try {
            stmt = conn.createStatement();
            //執行語句,得到結果集
            ret = stmt.executeQuery(sql);
            while (ret.next()) {
                //這裡只查詢的密碼
                password = ret.getString(1);
            }
            ret.close();
            conn.close();//關閉連線
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        return password;
    }
}
}

注:

java.sql.SQLException: Unknown system variable 'language'

使用jdbc連線資料庫提示以上錯誤,上網查了問題大部分都說是jdbc驅動和mysql版本不匹配,目前我mysql版本為5.1.30,

jdbc版本是5.1.40,將jdbc版本改為5.0.8,資料顯示正確!!!!

 

感謝:

https://blog.csdn.net/qq_33371766/article/details/80229166

https://blog.csdn.net/weixin_37250058/article/details/54019789