精华内容
下载资源
问答
  • JDBC连接数据库步骤及代码,不适合初学者
  • 配套博客的资源,具体介绍见本人博客 Java工程通过JDBC连接数据库方法(SQL Server)
  • JDBC连接数据库工具类

    2014-03-19 12:26:51
    JDBC连接数据库工具类 JDBC 连接数据库 ORACLE SQLSERVER MYSQL ORACLE 已测 OK 欢迎大家反馈 我的微博是: http://weibo.com/namenode
  • jdbc连接数据库小项目

    2015-12-15 22:22:14
    一个简单的连接数据库例子,通过jdbc,实现了增加,查询 利用反射和普通办法 查询单条记录和多条记录 加载jdbc驱动 提供连接参数 建立一个数据库的连接 创建一个statement连接 执行sql语句 处理结果 关闭jdbc对象。 ...
  • JDBC连接数据库的步骤,方法

    千次阅读 2020-11-20 10:25:08
    准备工作3.JDBC连接数据库步骤代码详解1.导入数据库对应的jar包,并Add As Library2.注册驱动1.编写数据库配置文件jdbc.properties2.编写JDBCUtils工具类读取配置文件,获取连接,关闭资源3.编写测试类,测试JDBC连


    前言

    本文是自己关于使用JDBC 连接数据库的一些基本的总结,以及使用步骤的简单记录

    一、JDBC是什么?

    JDBC是Java数据库连接(Java Database Connectivity),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

    二、使用步骤

    1.JDBC连接步骤

    1. 导入数据库对应的jar包

    2. 注册驱动

    3. 获取数据库连接对象

    4. 定义sql语句

    5. 获取执行sql的对象 Statement

    6. 执行sql

    7. 对结果进行处理

    8. 释放资源

    2.准备工作

    在使用之前,需要有一些准备工作,先创建相应的数据库userdml,并且插入相应的数据,方便测试:

    DROP TABLE IF EXISTS `userdml`;
    CREATE TABLE `userdml` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) NOT NULL,
      `gender` varchar(5) DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      `address` varchar(20) DEFAULT NULL,
      `qq` varchar(20) DEFAULT NULL,
      `email` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of userdml
    -- ----------------------------
    INSERT INTO `userdml` VALUES ('1', '张三', '男', '18', '陕西', '123455', 'zhangsan@itcast.cn');
    INSERT INTO `userdml` VALUES ('2', '李四', '女', '27', '西藏', '8856658', 'ls@itcast.cn');
    INSERT INTO `userdml` VALUES ('3', '叶辰', '男', '21', '上海', '1235475', 'zhangsan@itcast.cn');
    INSERT INTO `userdml` VALUES ('4', '若雪', '女', '20', '贵州', '87898', 'ls@itcast.cn');
    
    

    3.JDBC连接数据库步骤代码详解

    1.导入数据库对应的jar包,并Add As Library

    2.注册驱动

    1.编写数据库配置文件jdbc.properties

    url=jdbc:mysql://localhost:3306/test02?serverTimezone=Asia/Shanghai
    user=root
    password=123456
    driver=com.mysql.cj.jdbc.Driver
    

    2.编写JDBCUtils工具类读取配置文件,获取连接,关闭资源

    import java.io.FileReader;
    import java.io.IOException;
    import java.net.URL;
    import java.sql.*;
    import java.util.Properties;
    
    /**
     * JDBC工具类,加载驱动,获取连接
     */
    public class JDBCUtils {
        private static String url;
        private static String user;
        private static String password;
        private static String driver;
    
        /**
         * 配置文件的读取
         */
        static {
            // 读取资源文件,获取值。
            try {
                //1. 创建Properties集合类。
                Properties pro = new Properties();
                //2. 加载文件使用ClassLoader 类加载器
                ClassLoader classLoader = JDBCUtils.class.getClassLoader();
                URL resource = classLoader.getResource("jdbc.properties");
                String path = resource.getPath();
                
                pro.load(new FileReader(path));
    
                url = pro.getProperty("url");
                user = pro.getProperty("user");
                password = pro.getProperty("password");
                driver = pro.getProperty("driver");
    
                Class.forName(driver);
    
            } catch (IOException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 获取连接
         *
         * @return 连接对象
         */
        public static Connection getConnection() throws SQLException {
            return DriverManager.getConnection(url, user, password);
        }
    
        /**
         * 操作完成后,释放资源
         *
         * @param state
         * @param conn
         */
        public static void close(Statement state, Connection conn) {
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        /**
         * 释放资源
         *
         * @param state
         * @param conn
         */
        public static void close(ResultSet rs, Statement state, Connection conn) {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    }
    
    

    3.编写测试类,测试JDBC连接的工具类,进行数据库连接

    import com.syp.domain.Emp;
    import com.syp.domain.User;
    import com.syp.utils.JDBCUtils;
    
    import java.io.PushbackReader;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @description:JDBC数据库连接步骤的基本使用
     * @return
     */
    
    public class JDBCDemoTest {
        public static void main(String[] args) {
            //调用方法,以及方法的返回值
            List<User> list = new JDBCDemoTest().findAllUser();
            // 遍历打印结果
            for (User user : list) {
                System.out.println(user);
            }
        }
    
        private List<User> findAllUser() {
            //1、导入数据库对应的jar包,并Add As Library
            //2、注册驱动,将驱动封装为工具类JDBCUtils
            Connection connection = null;
            Statement statement = null;
            ResultSet resultSet = null;
            ArrayList<User> users = null;
            try {
                //3.获取连接
                connection = JDBCUtils.getConnection();
                //4.定义sql语句
                String sql = "select * from userdml";
    
                //5.获取执行sql的对象
                statement = connection.createStatement();
                //6.执行sql
                resultSet = statement.executeQuery(sql);
                //7.遍历结果集,封装对象,对集合进行装载
                users = new ArrayList<>();
    
                while (resultSet.next()) {
                    //获取数据,对应数据库表
                    long id = resultSet.getInt("id");
                    String name = resultSet.getString("name");
                    String gender = resultSet.getString("gender");
                    int age = resultSet.getInt("age");
                    String address = resultSet.getString("address");
                    String qq = resultSet.getString("qq");
                    String email = resultSet.getString("email");
                    // 创建user实体对象,并赋值
                    User user = new User();
                    user.setId(id);
                    user.setName(name);
                    user.setGender(gender);
                    user.setAge(age);
                    user.setAddress(address);
                    user.setQQ(qq);
                    user.setEmail(email);
    
                    //装载集合
                    users.add(user);
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                //关闭资源
                JDBCUtils.close(resultSet, statement, connection);
                //返回结果
                return users;
            }
        }
    }
    
    
    

    4.程序运行结果:

    在这里插入图片描述


    总结

    以上就是个人关于JDBC连接数据库的步骤,方法的简单记录

    展开全文
  • JDBC连接数据库详解

    千次阅读 多人点赞 2020-01-09 12:48:05
    在java web中,数据库是不可缺少的一部分,而数据库连接通常使用java完成,因此便有了JDBC技术(java database connectivity 数据库连接技术)。从此,数据库与网页之间便有了联系,变得密不可分。 这篇文章先从...

    JDBC是什么?

    在java web中,数据库是不可缺少的一部分,而数据库的连接通常使用java完成,因此便有了JDBC技术(java database connectivity 数据库连接技术)。从此,数据库与网页之间便有了联系,变得密不可分。

    这篇文章先从基础的开始,先不涉及网页,从一个Java应用的JDBC方法来入门,会更好地看清JDBC的操作,那就开始吧!

    JDBC的编写流程

    简介

    通常来说JDBC的操作一般分为以下几步:
    1.导入需要操作的数据库jdbc驱动包和创建数据库
    2.将jdbc包加载至JVM中
    3.通过DriverManager类中getConnection方法获取到对应数据库连接对象
    4.编写需要操作的sql语句
    5.通过连接对象创建编译对象
    6.接受并处理返回的结果
    7.释放资源

    看到上面的这些步骤,从来没有接触过JDBC的小伙伴可能就懵了,这些都是什么呀?别怕!其实JBDC是非常死板的别写格式,接下来博主就一步一步地来讲解这些步骤。

    具体实现

    1.第一步:导入需要操作的数据库jdbc驱动包和创建数据库

    主要的数据库主要有SQL Server、MySQL、Oracle这样三种,需要去找寻对应的jdbc驱动jar包。

    方法:推荐前往Maven仓库寻找,里面各个版本主流的ar包都能够找到,较为方便。链接为Maven中央仓库

    博主使用的是MySQL8,所以接下来的演示就以此来进行。
    在这里插入图片描述

    输入后点击搜索。
    在这里插入图片描述、
    点击第一个链接
    在这里插入图片描述
    便可以在下面的驱动包列表中选择自己需要的jar包了。

    JDBC驱动包必须要和自己使用的数据库版本对应,否则会报错。

    这里博主由于使用的是MySQL8,选择8.0.x中的版本
    在这里插入图片描述
    然后点击进入选择下载
    在这里插入图片描述
    下载完成就要把jar包导入项目啦!

    博主使用的是IntelliJ IDEA,如果有使用eclipse的小伙伴,操作流程是一样的,也可以参考。

    首先先创建一个新的Java项目,不需要勾选任何框架,直接Next
    在这里插入图片描述
    一路Next,起好项目名称,点击Finish这个项目就算创建好啦!
    在这里插入图片描述
    接下来找到刚刚下载的jar包,黏贴到项目的lib目录下(如果没有lib目录,就自己创建一个文件夹,命名为lib)
    在这里插入图片描述
    最后一步,右击jar包选择Add as Library,然后JDBC的准备工作中Java的部分就算完成啦!
    在这里插入图片描述
    博主就不多赘述建立数据库中建表的过程了,因为这是另外一项技术了,和JDBC关系不大,这里直接用博主已经建立好的数据库中的表来讲解。

    这是一张用户表,接下来的编程演示就基于这张表
    在这里插入图片描述
    2.第二步:代码实现

    a.查询类功能

    	import java.sql.*;
    	
    	public class JDBC {
        public static void main(String[] args) {
            //声明变量
            Connection connection = null;
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
    
            try {
                //将jdbc包加载至JVM中
                Class.forName("com.mysql.cj.jdbc.Driver");
                //声明连接数据库的url(本处使用的是本地的MySQL数据库)
                connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC", "root", "******");
                //编写需要操作的sql语句
                String sql = "select * from user";
                //通过连接对象创建编译对象
                preparedStatement = connection.prepareStatement(sql);
                //向编译对象发出sql指令
                resultSet = preparedStatement.executeQuery();
                //接受并处理返回的结果
                while (resultSet.next()) {
                    System.out.println(resultSet.getInt("id")+ " " + resultSet.getString("username") + " " + resultSet.getString("password"));
                }
            }catch(Exception e){
                e.printStackTrace();
            }finally {
                //释放资源
                if(resultSet!=null){
                    try{
                        resultSet.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
                }
                if(preparedStatement!=null){
                    try{
                        preparedStatement.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
                }
                if(connection!=null){
                    try{
                        connection.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
                }
            }
        }
    

    以上的代码可以总结为以下的模板,需要修改的地方博主帮大家用高亮打出,方便小伙伴阅读

    import java.sql.*;

    public class JDBC {
    public static void main(String[] args) {
    //声明变量
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;

    try {
    //将jdbc包加载至JVM中
    Class.forName(“驱动类名”);
    //声明连接数据库的url(本处使用的是本地的MySQL数据库)
    connection = DriverManager.getConnection(“需连接的数据库url”,“用户名”,“密码”);
    //编写需要操作的sql语句
    String sql = “编写需要操作的sql语句”;
    //通过连接对象创建编译对象
    preparedStatement = connection.prepareStatement(sql);
    //向编译对象发出sql指令
    resultSet = preparedStatement.executeQuery();
    //接受并处理返回的结果
    while (resultSet.next()) {
    System.out.println(输出要输出的值);
    }
    }catch(Exception e){
    e.printStackTrace();
    }finally {
    //释放资源
    if(resultSet!=null){
    try{
    resultSet.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    if(preparedStatement!=null){
    try{
    preparedStatement.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    if(connection!=null){
    try{
    connection.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    }
    }
    b.插入修改类功能

    import java.sql.*;
    
    public class JDBC {
        public static void main(String[] args) {
            //声明变量
            Connection connection = null;
            Statement statement = null;
    
            try {
                //将jdbc包加载至JVM中
                Class.forName("com.mysql.cj.jdbc.Driver");
                //声明连接数据库的url(本处使用的是本地的MySQL数据库)
                connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC", "root", "******");
                //编写需要操作的sql语句
                String sql = "insert into user(id,username,password) values(6,'admin','admin')";
                //通过连接对象创建编译对象
                statement = connection.createStatement();
                //向编译对象发出sql指令
                statement.executeUpdate(sql);
            }catch(Exception e){
                e.printStackTrace();
            }finally {
                //释放资源
                if(statement!=null){
                    try{
                        statement.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
                }
                if(connection!=null){
                    try{
                        connection.close();
                    }catch(SQLException e){
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    

    以上的代码可以总结为以下的模板,需要修改的地方博主帮大家用高亮打出,方便小伙伴阅读
    import java.sql.*;

    public class JDBC {
    public static void main(String[] args) {
    //声明变量
    Connection connection = null;
    Statement statement = null;
    try {
    //将jdbc包加载至JVM中
    Class.forName(“驱动类名”);
    //声明连接数据库的url(本处使用的是本地的MySQL数据库)
    connection = DriverManager.getConnection(“需连接的数据库url”,“用户名”,“密码”);
    //编写需要操作的sql语句
    String sql = “编写需要操作的sql语句”;
    //通过连接对象创建编译对象
    statement = connection.createStatement();
    //向编译对象发出sql指令
    statement.executeUpdate(sql);
    }catch(Exception e){
    e.printStackTrace();
    }finally {
    //释放资源
    if(statement!=null){
    try{
    statement.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    if(connection!=null){
    try{
    connection.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    }
    }
    }

    这样一看,是不是发现每次编写JDBC只有这么一点点地方需要编写呢,其他的都是固定的模板,套用就完事了!
    所以说,JDBC并不难,准备上手的小伙伴也不要害怕呢,多多练习就OK啦!

    附加资料

    三种主流关系型数据库的驱动包名称和驱动类名

    数据库驱动类名url
    MySQLcom.mysql.jdbc.Driver (MySQL5及以下) com.mysql.cj.jdbc.Driver(MySQL6及以上)jdbc:mysql://IP地址:端口号(默认3306)/数据库名字
    SQL Severcom.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:microsoft:sqlserver://IP地址:端口号(默认1433);DatabaseName=数据库名
    Oracleoracle.jdbc.driver.OracleDriverdbc:oracle:thin:@IP地址:端口号(默认1521):数据库名

    结语

    这篇博客主要介绍了JDBC技术的实现,这项技术牵涉到了数据库中的sql查询语言以及编写代码使用的java语言,可能有的小伙伴想学java却没有学过数据库方面的相关知识,所以博主之后会更新关于数据库sql查询语句的讲解,如果说这篇文章有让你学到一定的知识的话,不妨点个赞和关注,让博主能够看到,如果讲解中有什么错误和疏忽,也劳烦在评论中指出或提问,博主会第一时间进行更新和答复,谢谢!

    展开全文
  • Java基础:常用的JDBC连接数据库方法大全Java基础:常用的JDBC连接数据库方法大全
  • 1、加载JDBC驱动程序 2、提供JDBC连接的URL 3、创建数据库的连接 4、创建一个Statement 5、执行SQL语句 6、处理结果 7、关闭JDBC对象
  • java JDBC连接数据库步骤及代码

    万次阅读 多人点赞 2018-12-06 09:34:01
    JDBC连接数据库,包含7个步骤 (1)加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现,成功加载后...

    JDBC连接数据库,包含7个步骤

    (1)加载JDBC驱动程序   

        在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   这通过java.lang.Class类的静态方法forName(String className)实现,成功加载后,会将Driver类的实例注册到DriverManager类中。

    代码如下:

    static{
    		try {
    			Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
    			}
    		catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		}
    	}

    (2)提供JDBC连接的URL

        书写形式:协议:子协议:数据源标识   。 其中:

         协议:在JDBC中总是以jdbc开始 。子协议:是桥连接的驱动程序或是数据库管理系统名称。   数据源标识:标记找到数据库来源的地址与连接端口。

    代码如下:

    //连接MySql数据库,用户名和密码都是root   
         String url = "jdbc:mysql://localhost:3306/test" ;    
         String username = "root" ;   
         String password = "root" ;   

    (3)创建数据库的连接   

    代码如下:

     public static Connection getConn(){
        	 Connection conn = null;
        	 try {
        		conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root","root");//连接数据库	
        		 }
             catch(SQLException e){
        		 e.printStackTrace();
        	 }
        	 return conn;
     }

    (4)创建一个Statement

        要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:

    •     执行静态SQL语句。通常通过Statement实例实现。
    •     执行动态SQL语句。通常通过PreparedStatement实例实现。
    •     执行数据库存储过程。通常通过CallableStatement实例实现。

    代码如下:

     public static Statement getStmt(Connection conn){
    	   Statement stmt = null;
    	   try {
    		stmt = conn.createStatement();
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	   return stmt;
       }

    (5)执行SQL语句

        Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate   和execute  

    •     ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句   ,返回一个结果集(ResultSet)对象。
    •     int executeUpdate(String sqlString):用于执行INSERT、UPDATE或   DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等  
    •     execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的   语句。

    代码如下:

     public static ResultSet executeQuery(Statement stmt,String sql){
    	 ResultSet rs = null;
    	 try {
    		rs = stmt.executeQuery(sql);
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	return rs; 
     }
     

    (6)处理结果   

        两种情况:  

    •     执行更新返回的是本次操作影响到的记录数。  
    •     执行查询返回的结果是一个ResultSet对象。  

         ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。

        使用结果集(ResultSet)对象的访问方法获取数据,代码如下:

    while(rs.next()){             
        String name = rs.getString("name") ;        
        String pass = rs.getString(1) ; // 此方法比较高效         
    }

    (7)关闭JDBC对象

        操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:

    •     关闭记录集
    •     关闭声明  
    •     关闭连接对象

    代码如下:

    //关闭结果集
     public static void closeRs(ResultSet rs){
    	   try {
    			if(rs != null ){
    				 rs.close();
    				 rs = null;
    			   }
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} 
     }
    //关闭执行方法
     public static void closeStmt(Statement stmt){
    	   try {
    			if(stmt != null ){
    				 stmt.close();
    				 stmt = null;
    			   }
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} 
    	   
       }
    //关闭连接
     public static void closeConn(Connection conn){
    	   try {
    		if(conn != null ){
    			 conn.close();
    			 conn = null;
    		   }
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
     }

    JDBC连接数据库工具类代码

    package com.njau.allnetitem;
    
    import java.sql.*;
    
    public class DB {
    	static{
    		try {
    			Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
    			}
    		catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		}
    	}
    	
     private DB() {}
     
     public static Connection getConn(){
        	 Connection conn = null;
        	 try {
        		conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_baima", "root","123456");//连接数据库	
        		 }
             catch(SQLException e){
        		 e.printStackTrace();
        	 }
        	 return conn;
     }
     
     public static void closeConn(Connection conn){
    	   try {
    		if(conn != null ){
    			 conn.close();
    			 conn = null;
    		   }
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
     }
       
     public static Statement getStmt(Connection conn){
    	   Statement stmt = null;
    	   try {
    		stmt = conn.createStatement();
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	   return stmt;
       }
       
     public static PreparedStatement getPStmt(Connection conn,String sql){
    	   PreparedStatement pstmt = null;
    	   try {
    		pstmt = conn.prepareStatement(sql);
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	   return pstmt;
       }
       
     public static void closeStmt(Statement stmt){
    	   try {
    			if(stmt != null ){
    				 stmt.close();
    				 stmt = null;
    			   }
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} 
    	   
       }
       
     public static ResultSet executeQuery(Statement stmt,String sql){
    	 ResultSet rs = null;
    	 try {
    		rs = stmt.executeQuery(sql);
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	return rs; 
     }
     
     public static void closeRs(ResultSet rs){
    	   try {
    			if(rs != null ){
    				 rs.close();
    				 rs = null;
    			   }
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} 
     } 
     
     public static ResultSet executeQuery(Connection conn,String sql){//重载
    	 ResultSet rs = null;
    	 try {
    		rs = conn.createStatement().executeQuery(sql);
    	} catch (SQLException e) {
    		e.printStackTrace();
    	}
    	return rs;  
       } 
     }

    工具类使用说明代码

    //插入数据
    public static void saveinfo(Object[] data) throws ParseException{
    	Connection conn = null;
    	PreparedStatement pstmt = null;
    try {
        conn= DB.getConn();
    	String sql = "insert into information value (null,?,?,?,?,?,?,?) ";
        pstmt = DB.getPStmt(conn, sql);
    	pstmt.setString(1,(String) data[0]);
    	pstmt.setString(2, (String) data[1]);
    	pstmt.setString(3,(String) data[2]);
    	pstmt.setString(4,(String) data[3]); 
    	pstmt.setString(5,(String) data[4]);
    	pstmt.setString(6,(String) data[5]);
    	pstmt.setTimestamp(7 ,(Timestamp)data[6]);
    	pstmt.executeUpdate();
    	} 
    	catch (SQLException e) {
    		e.printStackTrace();
    	}
        finally{
        	DB.closeStmt(pstmt);
        	DB.closeConn(conn);
        }
    }

    参考:

    http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html

    表示感谢!!

    展开全文
  • 数据库连接驱动札包,在使用jdbc连接数据库,或者使用数据源连接数据库都需要这个驱动。
  • JDBC连接数据库1、JDBC所需的四个参数(user,password,url,driverClass)2、加载JDBC驱动程序3、创建数据库的连接4、创建一个preparedStatement5、执行SQL语句6、遍历结果集7、处理异常,关闭JDBC对象资源 JDBC...

    JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤:

    1、JDBC所需的四个参数(user,password,url,driverClass)

    (1)user用户名

    (2)password密码

    (3)URL定义了连接数据库时的协议、子协议、数据源标识,它们之间用冒号隔开。
    书写形式: 协议:子协议:数据源标识

    协议:在JDBC中总是以jdbc开始
    子协议:是桥连接的驱动程序或是数据库管理系统名称。
    数据源标识:标记找到数据库来源的地址与连接端口。

    例如:MySql的连接URL

    jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;    
    
    useUnicode=true:表示使用Unicode字符集。
    如果characterEncoding设置为gb2312或GBK,本参数必须设置为true 。
    characterEncoding=gbk:字符编码方式。

    (4)driverClass连接数据库所需的驱动。

    2、加载JDBC驱动程序

    在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现。

    例如:

    try{//加载MySql的驱动类    
             Class.forName("com.mysql.jdbc.Driver") ;    
        }catch(ClassNotFoundException e){    
             System.out.println("找不到驱动程序类 ,加载驱动失败!");    
             e.printStackTrace() ;    
        }   

    成功加载后,会将Driver类的实例注册到DriverManager类中。

    3、创建数据库的连接

    (1)要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。

    (2)使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。

    例如:

    //连接MySql数据库,用户名和密码都是root    
         String url = "jdbc:mysql://localhost:3306/test" ;     
         String username = "root" ;    
         String password = "root" ;    
         try{    
              Connection con = DriverManager.getConnection(url , username , password ) ;    
         }catch(SQLException se){    
              System.out.println("数据库连接失败!");    
              se.printStackTrace() ;    
         }    

    4、创建一个preparedStatement

    要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:

    (1)执行静态SQL语句。通常通过Statement实例实现。
    (2)执行动态SQL语句。通常通过PreparedStatement实例实现。
    (3)执行数据库存储过程。通常通过CallableStatement实例实现。

    具体的实现方式:

    Statement stmt = con.createStatement() ;    
    
    PreparedStatement pstmt = con.prepareStatement(sql) ;    
    
    CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;    

    5、执行SQL语句

    Statement接口提供了三种执行SQL语句的方法:executeQueryexecuteUpdateexecute

    (1)ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
    (2)int executeUpdate(String sqlString):用于执行INSERT、UPDATE或 DELETE语句以及SQL
    DDL语句,如:CREATE TABLE和DROP TABLE等
    (3)execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

    具体实现的代码:

    ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;    
    
    int rows = stmt.executeUpdate("INSERT INTO ...") ;    
    
    boolean flag = stmt.execute(String sql) ;    

    6、遍历结果集

    两种情况:
    (1)执行更新返回的是本次操作影响到的记录数。

    (2)执行查询返回的结果是一个ResultSet对象

    • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。    
    
    • 使用结果集(ResultSet)对象的访问方法获取数据:    
    
    //列是从左到右编号的,并且从列1开始    
     while(rs.next()){    
             String name = rs.getString("name") ;    
              String pass = rs.getString(1) ; // 此方法比较高效    
         }

    7、处理异常,关闭JDBC对象资源

    操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源。

    关闭顺序和声明顺序相反:

    (1)先关闭requestSet
    (2)再关闭preparedStatement
    (3)最后关闭连接对象connection

    if(rs !=null){   // 关闭记录集
        try {
           rs.close();
        } catch (SQLException e) {
           e.printStackTrace();   
        }
    }
    
    if(stmt !=null){   // 关闭声明
        try {
           stmt.close();
        } catch (SQLException e) {
           e.printStackTrace();
        }
    }
    
    if(conn !=null){  // 关闭连接对象
        try {
           conn.close();
         } catch (SQLException e) {
            e.printStackTrace();   
         }
    }

    转载自:https://www.cnblogs.com/liubin1988/p/7865907.html

    展开全文
  • JDBC连接数据库6个步骤

    万次阅读 多人点赞 2018-11-01 09:46:27
    JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤:  首先准备JDBC所需的四个参数(user,password,url,driverClass) (1)user用户名 (2)password密码 (3)URL定义了连接数据库时的协议、...
  • 2.JDBC连接数据库 第一步: 加载驱动; 连接数据库; 使用语句操作数据库; 关闭数据库连接,释放资源; 第二步: 右击项目 -> Build Path -> Configure Build Path -> Add Exteranl JARs...
  • jdbc连接数据库的基本步骤

    千次阅读 2019-03-13 11:48:58
    jdbc连接数据库的基本步骤 精简版 1.在项目中导入java.sql包 2.加载数据库驱动程序 3.定义数据库的链接地址 4.得到与数据库的连接对象 5.声明sql语句 6.得到语句对象 7.执行sql语句 8.处理sql语句的返回结果 9....
  • Java中使用JDBC连接数据库

    万次阅读 多人点赞 2019-01-23 17:02:38
    Java中使用JDBC连接数据库 加载驱动 创建数据库连接 创建执行sql的语句 执行语句 处理执行结果 释放资源 源代码附上: package com.demo.test; import java.sql.Connection; import java.sql....
  • JDBC是java访问数据库的基础,其余的mybatis和JDO 以及Hibernate 都是把jdbc封装起来,因此了解JDBC连接数据库的原理十分重要!! 准备工作 1. mysql的jar包 导入到lib目录下 2.把导入的jar包添加到项目中 ...
  • spring mvc jdbc 连接数据库配置说明
  • 1、JDBC连接数据库步骤(六个步骤)

    千次阅读 多人点赞 2020-11-05 10:39:14
    连接数据库的url---- String url="jdbc:mysql://localhost:3306/test?"+ "useUnicode=true&characterEncoding=UTF8";//防止乱码 要连接数据库的用户名---- String user="xxxx"; 要连接数据库的密码---- String...
  • JDBC连接数据库,实现查询

    千次阅读 2019-06-16 13:49:33
    首先用eclipse建立动态的web项目, 建立两个实体类 在Admin类中,添加属性,并停提供对应...在数据库里,创建名为book的数据库,创建表admin CREATE TABLE admin ( aid VARCHAR(50) NOT NULL , password VARCHAR(32)...
  • JDBC连接数据库步骤及说明

    千次阅读 2020-11-25 16:08:03
    (1) param1: 要连接数据库的url-----》 String url=“jdbc:mysql://localhost:3306/test?”+ “useUnicode=true&characterEncoding=UTF8”;//防止乱码 param2:要连接数据库的用户名–》 String user=“h4”...
  • jdbc连接数据库5个步骤?

    千次阅读 2020-09-16 19:29:28
    1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.ResultSet; 4 import java.sql.SQLException; 5 import java.sql.Statement; ... 7 public class connectionMysql { ...
  • IDEA使用JDBC连接数据库

    千次阅读 2020-04-15 21:45:35
    Java DataBase Connectivity:Java数据库连接技术(一个接口),即用Java操作数据库 Java DataBase Connectivity:是一个独立于特定数据库的管理系统,通用的SQL数据库存取和操作的公共接口,定义了一组标准,为访问...
  • Java——JDBC连接数据库(步骤详解!!!)

    万次阅读 多人点赞 2020-05-30 17:17:28
    JDBC的全称是:Java Database Connectivity,即Java数据库连接JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。 那么,在数据库连接的时候,我使用的是MySQL,Java集成开发环境是Eclipse...
  • JDBC连接数据库7个步骤

    万次阅读 多人点赞 2018-05-29 09:40:17
    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、JDBC所需的四个参数(user,password,url,driverClass)(1)user用户名(2)password密码(3)URL定义了连接数据库时的协议、子协议、数据...
  • 最新Intellij Idea2020.01使用JDBC连接数据库

    千次阅读 多人点赞 2020-07-06 15:37:45
    最新Intellij Idea2020.01创建一个普通的Java工程并用JDBC连接数据库,详尽图文 Intellij Idea作为一款编程工具,自从尝到它的强大功能带来的甜头后,就再也不想用Eclipse来进行开发了。下面用它来演示一下如何创建...
  • 基于JDBC驱动进行SQLServer数据库应用开发的基本流程和方法可参考以下博客:... 理解和掌握数据库应用开发接口JDBC的基本原理和方法,使用SQL Serv...
  • JDBC连接数据库的详细步骤

    千次阅读 2016-08-18 18:47:30
    JDBC连接数据库网上的示例都一个样子,这个是我之前做的笔记,是一个比较全面的,忘记是出自哪里的了。 •创建一个以JDBC连接数据库的程序,包含7个步骤:  1、加载JDBC驱动程序:  在连接数据库之前,首先要...
  • java 用jdbc连接数据库 显示不存在的数据库,可是我数据库明明就存在呀? ![图片说明](https://img-ask.csdn.net/upload/201808/03/1533280888_999122.png) ![图片说明]...
  • JDBC连接数据库的七个步骤

    千次阅读 2017-03-22 22:02:12
    Java开发中JDBC连接数据库代码和步骤

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 437,891
精华内容 175,156
关键字:

jdbc连接数据库