设为首页 收藏本站
查看: 495|回复: 0

[经验分享] java通过JDBC连接mysql数据库

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-2 08:24:54 | 显示全部楼层 |阅读模式
第一步:下载mysql驱动,网址
1
http://dev.mysql.com/downloads/connector/j/



第二步:讲mysql驱动mysql-connector-java-5.0.5-bin.jar加入到项目的lib目录或者将该文件的路径加入到classpath环境变量里面
第三步:建立数据库
1、安装mysql
2、建立数据库:create database test;
3、创建表:
1
2
3
4
5
6
7
8
9
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)  
);



4、插入数据
第四步:java程序编写
1、加载驱动:加载想要连接的数据库的驱动到JVM,通过java.lang.Class类的静态方法forName(String className)来实现,加载成功后,Driver类的实例就被注册到DriverManager中
Class.forName("com.mysql.jdbc.Driver").newInstance();  或者 com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver(); 或者 new com.mysql.jdbc.Driver();2、创建连接对象,该对象就是一个数据库连接
Connection con = DriverManager.getConnection("url", "user", "passwrod");其中MySQL的JDBC URL编写方式:jdbc:[url=]mysql://[/url]主机名称:连接端口/数据库的名称?参数=值,避免中文乱码要指定useUnicode和characterEncoding。
3、创建申明:创建一个java.sql.Statement实例,Statement实例分为以下三种类型:
     1、执行静态SQL语句。通常通过Statement实例实现。     
     2、执行动态SQL语句。通常通过PreparedStatement实例实现。     
     3、执行数据库存储过程。通常通过CallableStatement实例实现。     
   具体的实现方式:       
    Statement stmt = con.createStatement() ;  
    PreparedStatement pstmt = con.prepareStatement(sql) ;
    CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
4、执行数据库操作:Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate、和execute。     
    1、ResultSet executeQuery():执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。       2、int executeUpdate():用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等     
    3、execute():用于执行返回多个结果集、多个更新计数或二者组合的语句。     
具体实现代码:
5、处理结果:分两种情况

1、执行更新返回的本次操作影响到的记录数
2、执行查询返回的结果是一个ResultSet对象
    ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。     
    使用结果集(ResultSet)对象的访问方法获取数据:     
    while(rs.next()){     
        String name = rs.getString("name") ;     
        String pass = rs.getString(1) ;  
    }      
6、关闭JDBC对象:操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:     
    1、关闭记录集     
    2、关闭声明     
    3、关闭连接对象

以下是学习时测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.nudt.jdbc;

import java.net.ConnectException;
import java.sql.*;

public class DBUtilDemo{
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
    private static final String USER = "root";
    private static final String PASSWD= "nudt2013";

    private static Connection conn = null;

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(URL,USER,PASSWD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        return conn;
    }

    public static void main (String args[])throws Exception{

        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");

        String result = null;
        while(rs.next()){
            result = "name:"+rs.getString("user_name")+";age:"+rs.getInt("age");
            System.out.println(result);
        }
    }
}



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146075-1-1.html 上篇帖子: mysql数据库备份、恢复文档 下篇帖子: xtrabackup 排错 数据库 mysql java
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表