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 ...
随机推荐
- 调用 jdbcTemplate.queryForList 时出现错误 spring-org.springframework.jdbc.IncorrectResultSetColumnCountException
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Spring Data JPA -1-CRUD入门
1) 引入jar包支持 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- 关于LightMapping和NavMesh烘焙的动态载入
熟悉unity的朋友都应该知道,unity有内部LightMapping烘焙和NavMesh寻路的功能.但这些非常好用的功能,都是基于对某个已经保存的关卡(scene)进行烘焙(Bake)的操作,我一 ...
- C语言不定参数
最近,遇到一个c语言的不定参数问题.其实,对于c语言的不定参数问题,只需要三个函数就可以搞定了.这三个函数的头文件是<stdarg.h>,其实下面的三个函数都是一个宏定义(macro). ...
- 查看和调试Qt源码(动态编译的QT也可进入源码)good
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...
- .NET中的六个重要概念
内容导读 概述 当你声明一个变量背后发生了什么? 堆和栈 值类型和引用类型 哪些是值类型,哪些是引用类型? 装箱和拆箱 装箱和拆箱的性能问题 一.概述 本文会阐述六个重要的概念:堆.栈.值类型.引用类 ...
- spring+mybatis 多数据源切换
摘自: http://www.oschina.net/code/snippet_347813_12525 1. 代码: DbContextHolder public class DbContextHo ...
- Hadoop I/O
Hadoop自带一套原子操作用于数据I/O.当中一些技术,如数据完整性保持和压缩,对于处理多达数个TB的数据时.特别值得关注.另外一些Hadoop工具或API.所形成的构建模块可用于开发分布式系统.比 ...
- RS报表设计采用Total汇总过滤出错
错误信息: DMR 子查询计划失败,并产生意外错误.: java.lang.NullPointerException 如图 原因是在RS过滤器中添加了: total([门诊人次] for [明细科室] ...
- php的opcache缓存扩展(php页面代码刷新速度)
opcache (全程 zend opcache): 从php5.5开始,默认提供的php脚本缓存扩展,编译php5.5时加上参数--enable-opcache就可以编译opcache了,只是要启用 ...