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