JDBC(1)-连接MySQL数据库,及其基本概念

1、首先的知道这么个事情sun公司提供了JDBC(用于执行SQL语句的Java API),但是JDBC不能直接操作数据库,(“JDBC它只是一堆接口,没有实现所以没有具体操作数据库的内容”),所以要使用JDBC操作数据库,还需要各大数据库厂商提供的JDBC驱动程序(也就是说sun提供了这么一个接口,实现就交给了数据库厂商,使大家掌握JDBC就能对各大数据实现操作)。

知道这么件事后,就写代码把!

2、连接MySQL数据库

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
 
public class Test1 {
    public static void main(String[] args) {
        Connection conn = null;
        Statement st = null;
        ResultSet res = null;        
        try {
 
            //1.注册驱动      
            //注册驱动有两种方式,一种是DriverManager.registerDriver;一种Class.forName;有帖子说后者好。
            //注册的目的就是告诉JDBC要操作什么数据库,并把数据库厂商提供的JDBC驱动代码传过来
            
            //DriverManager.registerDriver(new com.mysql.jdbc.Driver());  //多态
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            //2.建立连接 参数一:协议+访问数据库,参数二:用户名,参数三:密码
            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/要操作数据库名字", "root", "密码");
 
            //3.创建statement,跟数据库打交道一定需要这个对象
            st = conn.createStatement();
 
            //4.执行直接查询,得到结果集
            String sql = "select * from emp;";
            res = st.executeQuery(sql);
            
            //5.遍历查询每一条记录
            while(res.next())
            {
                int empno = res.getInt("EMPNO");
                String ename = res.getString("ENAME");
                double sal = res.getDouble("SAL");
 
                System.out.println("empno="+empno+"   ename="+ename+"     sal="+sal);
            }
 
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally
        {
            //关闭资源的顺序,谁先创建,则谁先关闭
            try {
 
                // 为了程序健壮
                if(res!=null)
                {
                    res.close();
                }
                if(st!=null)
                {
                    st.close();
                }
                if(conn!=null)
                {
                    conn.close();
                }                
 
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
 
        }
 
    }
 
}
 

猜你喜欢

转载自blog.csdn.net/qq_24369689/article/details/83715962