使用jdbc连接数据库

使用jdbc连接数据库,可以分为7步骤:

  1. 加载jdbc驱动程序

     可以通过Class类的静态方法forName实现

  2. 提供jdbc连接的url以及用户和密码

  3. 创建数据库的连接
     向java.sql.DriverManager请求并获得Connection对象,一个connection对象就代表一个数据库的连接
  4. 创建一个statement对象
     通过connection对象名调用去实现
    1)执行静态sql语句:通过createStatement实例去实现
    2)执行动态sql语句:通过PreparedStatement实例去实现
    3)执行数据库存储sql过程:通过CallableStatement实例实现
Statement stmt = conn.createStatement() ;   
PreparedStatement pstmt = conn.prepareStatement(sql) ;
CallableStatement cstmt = conn.prepareCall("{CALL demoSp(? , ?)}") ;  

 5.执行sql语句
 Statement接口提供了三种sql语句的方法:
1)executeQuery:执行查询数据库的sql语句,返回一个ResultSet对象
2)executeUpdate:用于执行insert、update、delete、语句等等
3)execute:用于执行返回多个结果集,多个更新计数或二者组合的语句

 6.处理结果

 while(rs.next()){   
         String name = rs.getString("name") ;   
         String pass = rs.getString(1) ; // 此方法比较高效   
     } 
   (列是从左到右编号的,并且从列1开始)    

 7. 关闭jdbc对象
 关闭对象与声明对象相反



package com.westos.Mysql;

import java.sql.*;

public class sqlConnection {

    public static void main (String[] ages){
        /**
         * 使用jdb连接数库
         */


        try {
            //使用mysql的驱动,并用class.forName去把它加载进去
            //mysql的驱动
            String DriverName = "com.mysql.jdbc.Driver";
            //动态加载mysql驱动
            Class.forName(DriverName);

            /**
             * 这是url的编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?
             * 避免中文乱码所以要指定useUnicode和characterEncoding
             * useUnicode:表示使用Unicode字符集
             */
            String url="jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8";
            String username="root";
            String password="123456";

            //一个connection代表一个数据库的连接
            Connection conn = DriverManager.getConnection(url, username, password);

            //创建一个Statement对象,Statement里面带有很多方法,比如executeUpdate可以实现插入更新和删除等方法
            Statement stat= conn.createStatement();

            //写入mysql指令
            String sql="insert into table_Student values(2,'132668','李四')";

            //调用Statement中的executeUpdate方法去执行sql指令
            ResultSet re = stat.executeQuery(sql);

            //输出查询结果
            while(re.next()){
                System.out.println(re.getInt("id"));
                System.out.println(re.getString("xuhao"));
                System.out.println(re.getString("name"));
                System.out.println("------------------");
            }

            //关闭statement对象
            re.close();
            stat.close();
            conn.close();

        }
        catch(SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            System.out.println("找不到jar包");
            e.printStackTrace();
        }


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值