欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu下使用Java连接MySQL数据库

程序员文章站 2022-05-27 09:33:15
...

实验环境:

OS : Ubuntu18.04
IDE : jetbrains
DBMS : MySQL

准备工作:

  1. 安装 MySql:

安装过程详见我的另一篇博文,点击蓝色字体传送。

  1. 安装 JDBC :

方法一:手动在 下载地址下载tar.gz包,然后解压。
方法二:如果安装了wegt,也可以通过命令直接下载:
# 在命令行中输入:
# wegt http://www.mysql.com/downloads/connector/j/mysql-connector-java-5.1.49.tar.gz
# 解压安装包
# tar xzvf mysql-connector-java-5.1.49.tar.gz

  1. 将 mysql 服务器启动起来:

执行命令
# service mysql start

  1. 登录服务器,建立数据库:

执行命令登录
# mysql –u root –ppassword
创建数据库wireless
# create database wireless;

  1. 在IDE建立项目,然后将JDBC驱动加载到该项目上。

方法一 : File –> Project Structure,左侧找到Modules->Dependencies 点击最右侧的绿色+号,选择JARS or Directories,然后选择“解压JDBC目录”找到mysql-connector-java-5.1.49.jar导入此jar包即可。

方法二:先把jar包复制到项目下某文件夹中,例如,我创建了lib文件夹并放进去jar包,在需要导入的jar包处单击右键,选择Add as Library…点击OK就可以了。

连接代码:

  1. 在IDE中建立Java文件,命名为DataUtil.java
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class DataUtil {
   private static String classname;
   private static String url;
   private static String user;
   private static String pw;

   static{
       try{
           InputStream in =DataUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
           Properties pros=new Properties();
           pros.load(in);
           classname=pros.getProperty("classname");
           url=pros.getProperty("url");
           user=pros.getProperty("user");
           pw=pros.getProperty("pw");
           Class.forName(classname);
       }catch (Exception e){
           throw new RuntimeException(e);
       }
   }
   public static Connection getConnection() throws SQLException {
       Connection conn=null;
       conn= DriverManager.getConnection(url,user,pw);
       return conn;
   }
   public static void release(ResultSet rs, Statement stmt,Connection conn){
       if(rs!=null)
           try{
               rs.close();
           }catch (Exception e){
           }
       if(stmt!=null)
           try{
               stmt.close();
           }catch (Exception e){
           }
       if(conn!=null)
           try{
               conn.close();
           }catch (Exception e){

           }
   }
}
  1. 创建资源文件

上面代码中的dbinfo.properties文件为在项目根目录下的文件
例如我是直接在项目resources文件夹处单击右键选择new->Resource Bundle创建的,内容如下:
# classname=com.mysql.jdbc.Driver
# url=jdbc:mysql://localhost:3306/wireless?useSSL=false&characterEncoding=UTF-8
# user=root
# pw=min

注意:wireless改为自己的数据库名称,pw=min要填自己的密码
另外windows下连接此文件useSSL=false要改为useUnicode=true

  1. 连接数据库

建立java文件,例如叫test1.java

public class test1 {
    public static void main(String[] args) throws SQLException {
        Connection conn=DataUtil.getConnection();
        if(conn==null){
            System.out.println("defeat");
        }else
            System.out.println("success");
    }
}

运行此测试,输出success代表连接成功。

可以进行后续操作,例如查询

 String sql="select * from user where ID=?";
 try{
     connection=DataUtil.getConnection();
     stmt=connection.prepareStatement(sql);
     stmt.setString(1,ID);
     rs=stmt.executeQuery();
     while(rs.next()){
        System.out.println("姓名:"+rs.getString("name")+"性别:"+rs.getString("sex")
                     +"身高:"+rs.getDouble("height")+"工资:"+rs.getDouble("salary")+"\n");
     }
  }catch (Exception e){
        throw new RuntimeException(e);
        }finally {
            DataUtil.release(rs,stmt,connection);
        }