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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM