怎样用java连接mysql

怎样用java连接mysql,第1张

Java MySQL 连接

Java 连接 MySQL 需要驱动包,百度就有自行下载,解压后得到jar库文件,然后在对应的项目中导入该库文件。

本实例使用的是 Eclipse,导入 jar 包:

创建测试数据

接下来我们在 MySQL 中创建 RUNOOB 数据库,并创建 websites 数据表,表结构如下:

CREATE TABLE `websites` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',

  `url` varchar(255) NOT NULL DEFAULT '',

  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',

  `country` char(10) NOT NULL DEFAULT '' COMMENT '国家',

  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8

数据表显示如下:

连接数据库

以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:

MySQLDemo.java 文件代码:

package com.runoob.test 

import java.sql.* 

public class MySQLDemo {

 

    // JDBC 驱动名及数据库 URL

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"  

    static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"

 

    // 数据库的用户名与密码,需要根据自己的设置

    static final String USER = "root"

    static final String PASS = "123456"

 

    public static void main(String[] args) {

        Connection conn = null

        Statement stmt = null

        try{

            // 注册 JDBC 驱动

            Class.forName("com.mysql.jdbc.Driver")

        

            // 打开链接

            System.out.println("连接数据库...")

            conn = DriverManager.getConnection(DB_URL,USER,PASS)

        

            // 执行查询

            System.out.println(" 实例化Statement对...")

            stmt = conn.createStatement()

            String sql

            sql = "SELECT id, name, url FROM websites"

            ResultSet rs = stmt.executeQuery(sql)

        

            // 展开结果集数据库

            while(rs.next()){

                // 通过字段检索

                int id  = rs.getInt("id")

                String name = rs.getString("name")

                String url = rs.getString("url")

    

                // 输出数据

                System.out.print("ID: " + id)

                System.out.print(", 站点名称: " + name)

                System.out.print(", 站点 URL: " + url)

                System.out.print("\n")

            }

            // 完成后关闭

            rs.close()

            stmt.close()

            conn.close()

        }catch(SQLException se){

            // 处理 JDBC 错误

            se.printStackTrace()

        }catch(Exception e){

            // 处理 Class.forName 错误

            e.printStackTrace()

        }finally{

            // 关闭资源

            try{

                if(stmt!=null) stmt.close()

            }catch(SQLException se2){

            }// 什么都不做

            try{

                if(conn!=null) conn.close()

            }catch(SQLException se){

                se.printStackTrace()

            }

        }

        System.out.println("Goodbye!")

    }

}

以上实例执行输出结果如下:

我有一个微信公众号,经常会分享一些Java技术相关的干货,还有一些学习资源。

如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

下面是一个从 mysql 数据库获取用户信息的例子,可以参考一下:

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import java.util.ArrayList

import java.util.List

 

// 用户类,存储单个用户信息

class User {

     

    private int id

     

    private String name

 

    public User(int id, String name) {

        this.id = id

        this.name = name

    }

 

    public int getId() {

        return id

    }

     

    public void setId(int id) {

        this.id = id

    }

     

    public String getName() {

        return name

    }

     

    public void setName(String name) {

        this.name = name

    }

 

    @Override

    public String toString() {

        return "User [id=" + id + ", name=" + name + "]"

    }

}

 

public class Demo1 {

 

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

         

        // 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息

        // 放到 List 中

         

        // 加载数据驱动

        Class.forName("com.mysql.jdbc.Driver")

         

        // 数据库连接字符串, 此例数据库为 test

        String url = "jdbc:mysql://localhost:3306/test"

        String user = "root"    // 数据库用户名

        String password = ""    // 数据库密码

         

        // 打开一个数据连接

        Connection conn = DriverManager.getConnection(url, user, password)

         

        Statement stmt = conn.createStatement()

         

        // 获取表 tb_users 所有用户信息到结果集中

        ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")

         

        // 定义一个存放用户信息的 List

        List<User> users = new ArrayList<>()

         

        // 提取用户信息,并将用户信息放入 List

        while (rs.next()) {

             

            // 获取用户ID

            int id = rs.getInt(1)

             

            // 获取用户名

            String name = rs.getString(2)

             

            users.add(new User(id, name))

        }

 

        rs.close()

        stmt.close()

        conn.close()

         

        // 显示用户信息

         

        for (User u : users) {

            System.out.println(u)

        }

    }

}

1.下面代码是使用jdbc直接来链接mysql的 *** 作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别。

2.执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值

3.mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下

4.如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置

5.使用spring框架下进行的测试,结果可以成功执行,无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,切换数据库的时候,应用程序是不用调整就能兼容的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9821815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存