java中连接MySQL数据库的几种方式

如题所述

    Java要连接数据库,那么首先你必须安装mysql数据库。

    安装好mysql之后,安装JDK了。

    安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表。

    先创建数据库:

    CREATE DATABASE SCUTCS;

    接着,创建表:

    CREATE TABLE STUDENT

    (

    SNO CHAR(7) NOT NULL,

       SNAME VARCHAR(8) NOT NULL,

       SEX CHAR(2) NOT NULL,

       BDATE DATE NOT NULL,

       HEIGHT DEC(5,2) DEFAULT 000.00,

       PRIMARY KEY(SNO)

    );

    然后插入数据,可以用SQL语句insert into <表名> values           (value1, value2, ...);

    编写.java文件来演示一下如何访问MySQL数据库。

    import java.sql.*;

    public class JDBCTest {

    public static void main(String[] args){

               // 驱动程序名           String driver = "com.mysql.jdbc.Driver";

               // URL指向要访问的数据库名scutcs           String url = "jdbc:mysql://127.0.0.1:3306/scutcs";

               // MySQL配置时的用户名           String user = "root";              // MySQL配置时的密码           String password = "root";

               try {             // 加载驱动程序            Class.forName(driver);

                // 连续数据库            Connection conn = DriverManager.getConnection(url, user, password);

                if(!conn.isClosed())              System.out.println("Succeeded connecting to the Database!");

               // statement用来执行SQL语句            Statement statement = conn.createStatement();

                // 要执行的SQL语句            String sql = "select * from student";

          // 结果集            ResultSet rs = statement.executeQuery(sql);

            while(rs.next())              // 选择sname这列数据             name = rs.getString("sname

             // 输出结果             System.out.println(rs.getString("sno") + "\t" + name);            }

            rs.close();            conn.close();

           } catch(ClassNotFoundException e) {

            System.out.println("Sorry,can`t find the Driver!");             e.printStackTrace();

          } catch(SQLException e) {

            e.printStackTrace();

           } catch(Exception e) {

          e.printStackTrace();

         } } }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-29
1:引入java.sql数据包;

import java.sql.*;

2:加载JDBC驱动程序

Class.forName(JDBC驱动包的名字).newInstance();

3:产生Connection

如已成功加载JDBC驱动程序,就可以利用加载的驱动程序连接数据库

Connection con=DriverManager.getConnection(URL,UserName,Password);

URL: JDBC:(subprotocol):(subname)

subprotocol:子协议指定连接何种数据库或用什么方式连接数据库;

subname:确立一个连接,可以是一个数据源名,也可是指向一个网上数据库.

4:各种连接例:

(1) MySQL数据库

String Dirver="com.mysql.jdbc.Driver";//驱动程序

String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名

String UserName="username"; //用户名

String Password="password"; //密码

Class.forName(Driver).newInstance(); //加载数据库驱动

connection con=DriverManager.getConnection(URL,Username,Password);

(2) Microsoft SQL server 数据库

String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驱动程序

String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";

//连接的URL,db_name为数据库

String UserName="username"; //用户名
String Password="password"; //密码

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(3) sybase 数据库

String Driver="com.sybase.jdbc.sybDriver"; //驱动程序
String URL="jdbc:Sybase://localhost:5007/db_name"; //连接的URL,db_name为数据库

String UserName="username"; //用户名
String Password="password"; //密码

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(4) Oracle(用thin模式)数据库

String Driver="oracle.jdbc.driver.OracleDriver"; //驱动程序
String URL="jdbc:oracle:thin://localhost:1521:orcl";

//连接的URL,orcl为数据库的SID

String UserName="username"; //用户名
String Password="password"; //密码

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(5) 利用JDBC-ODBC桥连接

String Driver="sun.jdbc.odbc.JdbcodbcDriver"; //驱动程序
String URL="jdbc:odbc:dbsource"; //连接的URL,dbsource为数据源名

String UserName="username"; //用户名
String Password="password"; //密码

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);本回答被网友采纳
相似回答