怎样用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 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:

MySQLDemojava 文件代码:

package comrunoobtest; 

import javasql; 

public class MySQLDemo {

 

    // JDBC 驱动名及数据库 URL

    static final String JDBC_DRIVER = "commysqljdbcDriver";  

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

            ClassforName("commysqljdbcDriver");

        

            // 打开链接

            Systemoutprintln("连接数据库");

            conn = DriverManagergetConnection(DB_URL,USER,PASS);

        

            // 执行查询

            Systemoutprintln(" 实例化Statement对");

            stmt = conncreateStatement();

            String sql;

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

            ResultSet rs = stmtexecuteQuery(sql);

        

            // 展开结果集数据库

            while(rsnext()){

                // 通过字段检索

                int id  = rsgetInt("id");

                String name = rsgetString("name");

                String url = rsgetString("url");

    

                // 输出数据

                Systemoutprint("ID: " + id);

                Systemoutprint(", 站点名称: " + name);

                Systemoutprint(", 站点 URL: " + url);

                Systemoutprint("\n");

            }

            // 完成后关闭

            rsclose();

            stmtclose();

            connclose();

        }catch(SQLException se){

            // 处理 JDBC 错误

            seprintStackTrace();

        }catch(Exception e){

            // 处理 ClassforName 错误

            eprintStackTrace();

        }finally{

            // 关闭资源

            try{

                if(stmt!=null) stmtclose();

            }catch(SQLException se2){

            }// 什么都不做

            try{

                if(conn!=null) connclose();

            }catch(SQLException se){

                seprintStackTrace();

            }

        }

        Systemoutprintln("Goodbye!");

    }

}

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

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

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

首先需要下载mysql数据库驱动程序,去mysql官网下载,文件名为mysql-connector-java-5111-binjar,其中5111是版本,可下载最新的。要把这个jar加到工程中。

java代码:

import javasql;

public class TestInsert {

public static void main(String[] args) {

try {

ClassforName("commysqljdbcDriver");//加载MySQL驱动程序

//建立与数据库的连接

String url = "jdbc:mysql://localhost:3306/training"; //training是数据库名,可替换

String user = "root"; //root是mysql用户名,可替换

String password = "root"; //替换为你的password

Connection cn = DriverManagergetConnection(url,user,password);

Statement stmt = cncreateStatement();//创建Statement对象

} catch (Exception e) {

eprintStackTrace();

}

}

}

      获取数据库的连接 

      @return conn 

     /  

    public static  Connection getConnection() throws Exception{  

      String url = "jdbc:mysql://101035188:3306/sgjwx";  

      String user = "opermain";  

      String psw = "opermain";  

      Connection conn = null;

      PreparedStatement pstm = null;

      ResultSet rs = null;

     ClassforName("commysqljdbcDriver");  

        if(null == conn) {  

            try {  

                conn = DriverManagergetConnection(url, user, psw);  

            } catch (SQLException e) {  

                Systemoutprintln("获取失败");

                throw new RuntimeException(e);  

            } finally{

             closeResources(conn,pstm,rs);

            } 

        }  

        return conn;  

    }  

    / 

      释放资源 

      @param conn 

      @param pstmt 

      @param rs 

     /  

    public  static void closeResources(Connection conn,PreparedStatement pstmt,ResultSet rs) {  

        if(null != rs) {  

            try {  

                rsclose();  

            } catch (SQLException e) {  

                eprintStackTrace();  

                throw new RuntimeException(e);  

            } finally {  

                if(null != pstmt) {  

                    try {  

                        pstmtclose();  

                    } catch (SQLException e) {  

                        eprintStackTrace();  

                        throw new RuntimeException(e);  

                    } finally {  

                        if(null != conn) {  

                            try {  

                                connclose();  

                            } catch (SQLException e) {  

                                eprintStackTrace();  

                                throw new RuntimeException(e);  

                            }  

                        }  

                    }  

                }  

            }  

        }  

    } 

    

    

    //       //tuserrole执行插入

//         try {

//          String sql = "insert into sys_userrole(roleid,userid) values (,)";

//             conn = getConnection();  

//             connsetAutoCommit(false);  

//             PreparedStatement pstmt = (PreparedStatement) connprepareStatement(sql,StatementRETURN_GENERATED_KEYS);//传入参数:StatementRETURN_GENERATED_KEYS

//             pstmtsetInt(1, 5);

//             pstmtsetInt(2, sid);

//             pstmtexecuteUpdate();

//             ResultSet rs = pstmtgetGeneratedKeys(); //获取结果   

//             int a = -1;

//          if (rsnext()) {

//          a = rsgetInt(1);//取得ID

//          }

//          Systemoutprintln(a);

//             Systemoutprintln("t_userrole执行成功");

//             conncommit(); 

//         } catch (Exception e) {  

//          eprintStackTrace();

//          Systemoutprintln("执行失败");

//         }

首先创建一个连接工厂import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlStatement;public class ConnectionFactory {

private Connection conn=null;

private Statement stmt=null;

private ResultSet rs=null;

public ConnectionFactory() {

super();

// TODO Auto-generated constructor stub

} public void OpenConn() throws Exception{

try{

ClassforName("commysqljdbcDriver")newInstance();

String url="jdbc:mysql://127001:3306/guestbook";

String user="root";

String password="root";

conn=DriverManagergetConnection(url,user,password);

}catch(Exception e){

Systemoutprintln("创建链接抛出异常为:"+egetMessage());

}

} public ResultSet executeQuery(String sql) throws Exception{

try{

stmt=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);

rs=stmtexecuteQuery(sql);

}catch(Exception e){

Systemoutprintln("执行查询抛出的异常为:"+egetMessage());

}

return rs;

} public void close() throws Exception{

try{

rsclose();

stmtclose();

connclose();

}catch(Exception e){

Systemoutprintln("关闭对象抛出的异常:"+egetMessage());

}

} }

测试类 import javasqlResultSet;public class TestJDBC {

public static void main(String[] args) {

ConnectionFactory c= new ConnectionFactory();

try {

cOpenConn();

String sql="select from tb_guestbook";

ResultSet rs=cexecuteQuery(sql);

while(rsnext()){

Systemoutprintln(rsgetString(2));

}

cclose();

Systemoutprintln();

} catch (Exception e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

}

import javasql;

public class DataBasePractice {

public static void main(String[] args) {

//声明Connection对象

Connection con;

//驱动程序名

String driver = "commysqljdbcDriver";

//URL指向要访问的数据库名mydata

String url = "jdbc:mysql://localhost:3306/mydata";

//MySQL配置时的用户名

String user = "root";

//MySQL配置时的密码

String password = "root";

//遍历查询结果集

try {

//加载驱动程序

ClassforName(driver);

//1getConnection()方法,连接MySQL数据库!!

con = DriverManagergetConnection(url,user,password);

if(!conisClosed())

Systemoutprintln("Succeeded connecting to the Database!");

//2创建statement类对象,用来执行SQL语句!!

Statement statement = concreateStatement();

//要执行的SQL语句

String sql = "select from student";

//3ResultSet类,用来存放获取的结果集!!

ResultSet rs = statementexecuteQuery(sql);

Systemoutprintln("-----------------");

Systemoutprintln("执行结果如下所示:");

Systemoutprintln("-----------------");

Systemoutprintln(" 学号" + "\t" + " 姓名");

Systemoutprintln("-----------------");

String name = null;

String id = null;

while(rsnext()){

//获取stuname这列数据

name = rsgetString("stuname");

//获取stuid这列数据

id = rsgetString("stuid");

//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

//然后使用GB2312字符集解码指定的字节数组。

name = new String(namegetBytes("ISO-8859-1"),"gb2312");

//输出结果

Systemoutprintln(id + "\t" + name);

}

rsclose();

conclose();

} catch(ClassNotFoundException e) {

//数据库驱动类异常处理

Systemoutprintln("Sorry,can`t find the Driver!");

eprintStackTrace();

} catch(SQLException e) {

//数据库连接失败异常处理

eprintStackTrace();

}catch (Exception e) {

// TODO: handle exception

eprintStackTrace();

}finally{

Systemoutprintln("数据库数据成功获取!!");

}

}

}

在上面while代码段后面添加以下代码段:

String name = null;

String id = null;

while(rsnext()){

//获取stuname这列数据

name = rsgetString("stuname");

//获取stuid这列数据

id = rsgetString("stuid");

//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

//然后使用GB2312字符集解码指定的字节数组。

name = new String(namegetBytes("ISO-8859-1"),"gb2312");

//输出结果

Systemoutprintln(id + "\t" + name);

}

PreparedStatement psql;

ResultSet res;

//预处理添加数据,其中有两个参数--“?”

psql = conprepareStatement("insert into student values(,)");

psqlsetInt(1, 8); //设置参数1,创建id为5的数据

psqlsetString(2, "xiaogang"); //设置参数2,name 为小明

psqlexecuteUpdate(); //执行更新

//预处理更新(修改)数据

psql = conprepareStatement("update student set stuname = where stuid = ");

psqlsetString(1,"xiaowang"); //设置参数1,将name改为王五

psqlsetInt(2,10); //设置参数2,将id为2的数据做修改

psqlexecuteUpdate();

//预处理删除数据

psql = conprepareStatement("delete from student where stuid = ");

psqlsetInt(1, 5);

psqlexecuteUpdate();

//查询修改数据后student表中的数据

psql = conprepareStatement("selectfrom student");

res = psqlexecuteQuery(); //执行预处理sql语句

Systemoutprintln("执行增加、修改、删除后的数据");

while(resnext()){

name = resgetString("stuname");

id = resgetString("stuid");

name = new String(namegetBytes("ISO-8859-1"),"gb2312");

Systemoutprintln(id + "\t" + name);

}

resclose();

psqlclose();

现在正做一个接口,通过不同的连接字符串 *** 作不同的数据库(数据库培训数据库认证)。

要用到MySQL(MySQL认证Mysql培训)数据库,以前没用过这个数据库,用aC++(C++培训)ess和sqlserver比较多。

通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法。

成都IT培训>

驱动

String driver = "commysqljdbcDriver";

// URL指向要访问的数据库名mydb

String url = "jdbc:mysql://127001:3306/mydb";

// 用户名

String user = "root";

// Java连接MySQL密码

String password = "root";

try {

// 加载驱动

ClassforName(driver);

// 连续数据库

Connection conn = DriverManagergetConnection(url, user, password);

if(!connisClosed())

Systemoutprintln("connecting to the Database Succee!");

// statement用来执行SQL语句

Statement statement = conncreateStatement();

// 要执行的SQL语句

String sql = "select from student";

ResultSet rs=statement executeQuery(sql);

while(rshasNext()){

//遍历取得结果

}

以上就是关于怎样用java连接mysql全部的内容,包括:怎样用java连接mysql、java如何连接mysql、如何在Java程序中访问mysql数据库中的数据并进行简单的 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存