| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> JDBC的简单实现数据库连接和操作 -> 正文阅读 |
|
[大数据]JDBC的简单实现数据库连接和操作 |
1.获得数据库驱动程序(由数据库厂商提供),并且将它加载到外部库中2.注册和加载驱动程序2.1注册 DriverManager.registerDriver(driver);注册由系统自动添加,不需要敲入代码 2.2加载(有三种方法)分别是: 2.2.1注册相应的db的jdbc驱动,在编译时需要导入对应的libnew com.mysql.jdbc.Driver(); String url="jdbc:mysql://localhost:3306/databasename"; 2.2.2通过系统的属性设置System.setProperty("jdbc.driver","com.mysql.jdbc.Driver"); 2.2.3最常用(通过反射加载)Class.forName("com.mysql.jdbc.Driver"); 这里会抛出ClassNotFoundException异常,需要try catch "com.mysql.jdbc.Driver"的意义是Driver类的位置,处于com.mysql.jdbc包 附常见的几种数据库加载: 1、mysql5:???????????? Class.forName("com.mysql.jdbc.Driver"); 2、mysql8:???????????? Class.forName("com.mysql.cj.jdbc.Driver"); 3、Oracle11g及更早版本:? ????? Class.forName("oracle.jdbc.driver.OracleDriver") 4、Oracle12c至Oracle19c:???? Class.forName("oracle.jdbc.OracleDriver") 5、sqlserver2005-2019:???? ????? Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") 6、sqlserver2000:? ????? Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") 7、JDBC-ODBC桥模式,以Access为例:????? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 3.连接数据库conn = DriverManager.getConnection(url, user, password); 会抛出SQLException,需要try catch 以MySQL为例 String url = "jdbc:mysql://127.0.0.1:3306/db_test", user = "root", password = "123456" 其中127.0.0.1为IP地址(这里是本机地址),3306:MySQL 的端口号,db_test 为你个人所创建的数据库,user 默认root不需更改,password为设置的密码 附常见的数据库连接: ????? 1)MySQL5.x的完整连接数据库代码为: ?Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/stusys","root", "123456"); ????? 2)MySQL8.x的完整连接数据库代码为: ?Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/stusys?serverTimezone=UTC","root", "123456"); ????? 3)SQL Server2005-2019系列 ?Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=stusys",“sa", "123456"); ????? 4)Oracle ?Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521/stusys",“scott", "123456"); thin是一种瘦客户端的连接方式, oci是一种胖客户端的连接方式 4.操纵数据库4.1创建Statement对象stmt = conn.createStatement();//创建Statement对象 4.2stmt对象的常用三种方法executeUpdate():修改数据库数据 stmt.executeUpdate(query);这里的query是SQL语句字符串,完成添加、删除、修改功能的SQL语句都可以放入这里 executeQuery():查询数据库数据 ResultSet rs =stmt.executeQuery(query);这里的query是执行查询操作的SQL语句字符串 execute():执行添、删、改、查四种操作 stmt.execute(query); 4.3创建预处理对象(重复性的查询可以使用,提高效率)String sql1 = "insert into xsb values(?,?,1)";//问号代表占位符 statement1 = conn.prepareStatement(sql1);//这里预处理要提前把sql语句加入 statement1.setString(1,"1003");//参数1代表“?”的位置(位置从1开始),第二个代表替代值 statement1.setString(2,"tony"); statement1.executeUpdate(); 5.与数据库断开连接断开连接时与创建连接相反,从下到上一一关闭,并且关闭的时候有SQLException异常需要处理,因为关闭必须要执行因此一一写在finally语句块中,值得注意的是这里的rs,stmt等变量不能是局部变量。 ??????? finally { ??????????? try { ??????????????? rs.close(); ??????????? } catch (SQLException e) { ??????????????? System.out.println(e); ??????????? } ??????????? try { ??????????????? stmt.close(); ??????????? } catch (SQLException e) { ??????????????? System.out.println(e); ??????????? } ??????????? try { ??????????????? conn.close(); ??????????? } catch (SQLException e) { ??????????????? System.out.println(e); ??????????? } ??????? } } 6.运行结果的查看 两条数据已插入 7.小结:(1)大体分五步 1.获得驱动加到项目中2.注册并且加载3.连接数据库4.操纵数据库5.断开与数据库的连接 (1)加载驱动的时候注意不能出错(建议直接复制粘贴,再具体修改),连接数据库也是如此 (2)注意异常的捕获 (3)断开连接的语句块写在finally 里,同时也要捕获异常 最后附上源代码:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:52:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |