jdbc链接基础
1 jdbc 链接两种方式,通过jdbc链接mysql数据库,url:jdbc:mysql://ip:端口[/database name]
通过什么驱动器,链接什么数据库,数据库的ip,连接端口,可以在url中加上连接的数据库名。
1)使用驱动器获取链接
Driver driver = new com.mysql.jdbc.Driver();
props.setProperty("user", "root");
props.setProperty("password", "root");
Connection conn = driver.connect(url, props); System.out.println(conn);
conn.close();
2) 使用驱动管理器获取链接
Class.forName("com.mysql.jdbc.Driver");
props.setProperty("user", "root");
props.setProperty("password", "root");
Connection conn = DriverManager.getConnection(url,props);
System.out.println(conn);
conn.close();
DriverManager 数据库驱动器管理类,用于管理所有注册的驱动器。
1)registerDriver(driver)注册驱动器
2)getConnection(url,properties) 获取链接
Interface Connection 常用方法
1) Statement createStatement()
2)PreparedStatement prepareStatement(String sql)
Interface Statement 用于执行静态SQL语句, 常用方法
1)executeLargeUpdate(String sql)
2)executeQuery(String sql)
Interface PreparedStatement 用于执行预编译SQL语句,
1)int executeUpdate()
2)ResultSet executeQuery()
Interface CallableStatement 用于执行存储过程的SQL语句
1)ResultSet executeQuery()
Interface ResultSet 查询结果
1)boolean next() //判断下一行是否为空
PreparedStatement 有一些优势相对于 Statement
1)可以防注入
2)对于数据库带缓冲区的更高效
3)语法不同,可以使用预编译的SQL
所以:以后推荐使用PreparedStatement
2 所有调用存储过程的的SQL语句都是使用executeQuery方法执行。
二、使用数据库时可能会使用配置文件进行用户名、数据库、密码之类的数据存储。此时如果使用properties文件存储。需要注意文件的加载路径。
推荐使用类加载路径,其中“/”表示classpath根目录,在 java 项目中表示 bin/ 目录,在 java web 项目中,表示 WEB-INF/classes 目录
在静态方法中:类名.class.getResourceAsStream("/") 表示获取类加载的根路径,如果不加 "/" 获取当前类的加载目录
在动态方法中:this.getClass().getResourceAsStream("")
jdbc链接基础的更多相关文章
- Java JDBC的基础知识(一)
一.为什么引入JDBC 在学习JDBC之前,抛开它的概念,我先按照我的理解解释一下,为什么要引入JDBC.在我看来,引入JDBC跟我之前学过的引入JVM(Java虚拟机)有些相似之处.当然,关于JVM ...
- 自定义JDBC链接池
上篇简单介绍了jdbc链接数据库: 本篇就说一下自定义连接池以及增删改查的测试: 自定义连接池 自定义链接池的原因 JDBC连接中用到Connection 在每次对数据进行增删查改 都要 开启 ...
- 4、原生jdbc链接数据库常用资源名
原生jdbc链接数据库要素:#MySql:String url="jdbc:mysql://localhost:3306/数据库名";String name="root& ...
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- jdbc链接数据库,获取表名,字段名和数据
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import ...
- hive安装 jdbc链接hive
1. 下载hive安装包 2. 进入 conf 中 : cp hive-default.xml.template hive-site.xml, vi hive-site.xml 1)首行添加: ...
- Java JDBC链接Oracle数据库
package com.test.test; import java.io.FileInputStream;import java.io.FileNotFoundException;import ja ...
- clickhouse 离线/在线 安装和java通过jdbc链接
检查 需要确保是否x86_64处理器构架.Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 ...
随机推荐
- rabbitmq 连接測试
1.假设写错了host (如:factory.setHost("locathost"); )报错: Exception in thread "main" jav ...
- EntityFramework:我想我需要和 Session.Save 语义一样的方法
背景 EntityFramework 中 DbSet.Add 方法不会导致立即执行 insert 语句,这在长事务中非常有用,不过多数用例都是短事务的,为何我需要一个立即执行 insert 语句的方法 ...
- [Android UI] listview 自定义style
<style name="comm_listview_style"> <item name="android:cacheColorHint"& ...
- 集成禅道和svn
转载:http://www.zentao.net/book/zentaopmshelp/137.html 说明:svn集成功能配置会比较复杂,我们会尽量通过文档来帮助大家配置成功!如果实在配置不成功的 ...
- [转] 菜鸟手脱VMP,附上脱壳过程和自己写的脚本,可跨平台
转载:http://www.52pojie.cn/thread-467703-1-1.html 工作需要要脱一个VMP壳,我是一个从来没接触过脱壳的人.瞬间那种心情遇到的人应该都知道!没办法硬着头皮找 ...
- .NET 代码注入 CodeInject
CInject (or CodeInject) 允许直接往托管的代码中注入代码,而无需反编译.可在单个或者多个方法中注入你要执行的代码.使用 CInject 时你无需了解目标应用的细节,你通过注入来轻 ...
- 利用kettle中的JS来完成ETL数据校验
最近参与了一个信托行业的BI项目,由于信托业务系统设计的问题,很多都是用户手工录入的数据,也有一些是需要分析的但是用户没有录入的数据,针对这样的数据质量,我们就要在ETL抽取的过程中来对数据流进行校验 ...
- [Node.js] Level 6. Socket.io
6.2 Setting Up socket.io Server-Side So far we've created an Express server. Now we want to start bu ...
- Activity与Service通信
Activity与Service通信的方式有三种: 继承Binder类 这个方式只有当你的Acitivity和Service处于同一个Application和进程时,才可以用,比如你后台有一个播放背景 ...
- dsPIC33EP 时钟初始化程序
//文件名p33clk.h #ifndef _P33CLK_H_ #define _P33CLK_H_ //#include "p33clk.h" #define WDT_ENB ...