Java与数据库MySQL、sqlServer连接步骤,具体代码

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangyonghan/article/details/79612963

连接步骤:

步骤一创建数据库

CREATE DATABASE line;
CREATE TABLE customer(
 id INT,
 NAME VARCHAR(50),
 STATUS INT
);
INSERT INTO    customer VALUES(1,'张三',0);
INSERT INTO    customer VALUES(2,'李四',0);
INSERT INTO    customer VALUES(3,'王五',0);
SELECT * FROM customer ORDER BY id;

步骤二:加载Java包                                                                                          

Java项目1加载mysql,项目2加载sql

步骤三:代码实现

 1.代码步骤

  //1.加载数据驱动
        //2.创建并获取数据库连接
        //3.创建jabc statement对象
        //4.设置sql语句
        //5.设置sql语句中的参数(使用prepareteStatement)
        //6.通过statement执行sql并获取结果
        //7.对sql执行结果进行解析处理
        //8.释放资源

2.代码实例

mysql实例:

package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCTest {
    public static void main(String[] args) {
        Connection    connection = null;
        PreparedStatement prepareStatement = null;
        ResultSet resulSet = null; 
        try
        {  
            //1.加载数据驱动   加载到jvm(java虚拟机),通过Java.lang.Class类的静态方法forName(String className)
            Class.forName("com.mysql.jdbc.Driver");
            //2.提供JDBC连接的URL
            /*连接URL定义了连接数据库时的协议、子协议、数据源标识。
            •书写形式:协议:子协议:数据源标识
            协议:在JDBC中总是以jdbc开始
            子协议:是桥连接的驱动程序或是数据库管理系统名称。
            数据源标识:标记找到数据库来源的地址与连接端口。*/
            String url ="jdbc:mysql://localhost:3306/line";
            //3.创建数据库连接
            /*要连接数据库,
             * 需要向java.sql.DriverManager请求并获得Connection对象, 该对象就代表一个数据库的连接。
            •使用DriverManager的getConnectin(String url , String username ,
            String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和 密码来获得。*/
            String username = "root";
            String password = "root";        
            connection =DriverManager.getConnection(url, username, password);
            //4创建一个Statement
            /* •要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:
             1、执行静态SQL语句。通常通过Statement实例实现。
             2、执行动态SQL语句。通常通过PreparedStatement实例实现。
             3、执行数据库存储过程。通常通过CallableStatement实例实现。
             具体实现方式
             Statement stmt = con.createStatement() ;
             PreparedStatementpstmt = con.prepareStatement(sql) ;
             CallableStatementcstmt =con.prepareCall("{CALL demoSp(? , ?)}") ;
             */
         //5.执行数据库语句
             String sql = "SELECT * FROM customer ORDER BY id;";
             prepareStatement= connection.prepareStatement(sql);
             resulSet = prepareStatement.executeQuery();
        //6.处理结果
             while(resulSet.next())
             {
                  int id = resulSet.getInt("id");
                  String name = resulSet.getString("name");
                  System.out.println("id:"+id+" "+ "customerName:"+name);
                
             }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("找不到驱动程序类,加载驱动失败!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("数据库连接失败!");
            e.printStackTrace();
        }
        finally {
            // 7、关闭JDBC对象
             /*操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:*/
            if(resulSet!=null)
            {
                try {
                    resulSet.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if(prepareStatement!=null)
            {
                try {
                    prepareStatement.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if(connection!=null)
            {
                try {
                    connection.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

   

sqlserver实例:

   public class JDBCTest {

    public static void main(String[] args) {
    Connection    connection = null;
    PreparedStatement prepareStatement = null;
    ResultSet resultSet = null;
    try {
        //1.加载数据库
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    
        //2. 3.创建数据库连接   账号 密码
        String url="jdbc:sqlserver://localhost:1433;DatabaseName=line";        
        String user="sa";
        String password="retow2332380@";
        connection = DriverManager.getConnection(url, user, password);
        //4.创建sql数据
        String sql = "select * from customer order by id;";
        //5 预处理
        prepareStatement=connection.prepareStatement(sql);
        //6可以设置参数
        
        //7.执行sql语句获得结果级
        resultSet= prepareStatement.executeQuery();
        //8.处理结果
       while(resultSet.next())
        {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id:"+id+" "+"name:" +name);
        }
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        System.out.println("数据库驱动加载失败!");
        e.printStackTrace();
    } catch (SQLException e) {
        System.out.println("数据库连接失败!");
        e.printStackTrace();
    }finally{
        //9.释放资源 即关闭各种资源
         if(resultSet!=null)
        {
            try {
                resultSet.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(prepareStatement!=null)
        {
            try {
                prepareStatement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(connection!=null)
        {
            try {
                connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    
    
    }
}


3.两者不同点:

加载驱动不同

URL略有不同:端口不同,数据库描写不同


    
    
    
}


展开阅读全文

没有更多推荐了,返回首页