Ubuntu下使用Java连接MySQL数据库

news/2024/5/19 2:10:22 标签: mysql, java, jdbc

实验环境:

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
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

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代表连接成功。

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

java"> 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);
        }

http://www.niftyadmin.cn/n/1810180.html

相关文章

hal 外部唤醒脚唤醒_玩转STM32CubeMX | 待机唤醒

1.低功耗模式简介系统或电源复位后,微处理器处于运行状态,运行状态下HCLK为CPU提供时钟,内核执行程序代码。当CPU不需继续运行时(例如等待某个外部事件),可以利用多个低功耗模式来节省功耗。用户需要根据最低电源消耗、最快速启动…

微软的悲哀:不知Google手机盈利模式

文/项有建 据报道,微软首席执行官史蒂夫鲍尔默近日在悉尼表示,Google主持开发的Android手机平台还没有找到有效的市场盈利模式,鲍尔默首先表示:“这是Google的首款手机,他们也不容易。……但我确实搞不懂Android的市场…

谷歌浏览器无法下载文件

谷歌浏览器崩溃? 1.下载文件总是没反应 2.后来不仅没反应,还会闪退 解决过程 按照网上说的,搜狗输入法与谷歌冲突,所以点击下载文件前要先切换输入法,但是我试过无果,再试第二步。 说是搜狗输入法的某…

前端开发面试题04

1. 要动态改变层中内容可以使用的方法有(AB )a)innerHTMLb)innerTextc)通过设置层的隐藏和显示来实现d)通过设置层的样式属性的display属性2. 当按键盘A时,使用onKeyDown事件打印event.keyCode的结果是(A )a)65b)13c)9…

黑马程序员-字典转模型知识点总结

由于刚基础,对于字典转模型中很多细节的知识点也知之甚少,所以将学习字典转模型中的相关问题进行了总结,其中都是我自己不太理解的。从加载到各个语句的解析,可能 有出入的地方。 字典转换模型时需要掌握的知识点,具体…

wps嵌入字体后也不改变_wps里面粘贴了不同网站的内容.为什么改完同一种字体后一个比较粗....

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":7,"count":7}]},"card":[{"des":"支持文本,图片,视频&…

OVS使用记录(二)

搭建复杂网络 搭建如下图所示网络(VAP仅作为二层交换机使用): 基于lxd容器搭建多主机网络 在记录一中已经创建了VAP、host1、host2节点以及相应流表,能互相ping通。现在基于记录一,再创建一个主机节点。添加host3节…

IT职场:IT人才市场最看重的12项技能

By kevinwu on November 2, 2007 11:24 AM | No Comments | No TrackBacks IT行业很热门,不过前提是你要有所需的技能。如果你想进入这个行业,不妨看看在不久的将来最热门的几项IT技能。Kevin Scott是谷歌公司的高级技术经理,也是美国计算机…