学习jdbc学习笔记
1.jdbc: java database connection
jdbc规范:是sun公司制定的一套连接操作数据库的接口.
我们必须要用具体的驱动类去连接操作数据库。
每个驱动类都实现了jdbc规范.
规范中掌握三个接口:
Connection: 表示连接对象
Statement: 表示命令对象。执行sql语句用的
ResultSet: 表示结果集.
三种注册驱动的方式
1.创建mysql包中的Driver类。
2.采用反射创建驱动类的对象
3.采用反射加载驱动类
前两种由于注册了两次。同时与具体类耦合性太高,所以不用。实际当中采用第三种
三种获取连接对象的方式:
1.将用户名和密码附加在连接字符串之后
jdbc:mysql://localhost:3306/mydb?user=root&password=root
2.采用创建properties文件的方式
Properties pro = new Properties() ;
pro.load(new FileReader("src/jdbc.properties")) ;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb",pro) ;
3.采用连接字符串,用户名和密码获取
DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root") ;
补充:Properties类
此类主要的功能是读取properties文件。properties文件的写法必须是键值对的方式(键=值),参见代码
游标的移动:mysql数据库的结果集默认游标的类型是可移动方式,意味着可以来回移动
rs.next() ; 向下移动一条
rs.beforeFirst() ;移动到第一条记录前边
rs.afterLast();移动到最后一条记录的下边
rs.relative(n) ; 移动到相对于当前位置的n条记录的位置
rs.absolute(n) ; 直接定位到第n条记录
rs.last() ;移动到最后一条记录
获取结果集数据的两种方式:
1.采用列的索引获取 : 注意索引从1开始
2.采用列名获取: 注意是虚拟结果集的列名
封装数据到集合对象中
sql注入的问题:statement对象存在sql注入。因此采用PreparedStatement对象。此
对象是预编译对象,意味着提前先编译好sql语句,因此效率高于statement对象,也防止了sql注入.
CREATE TABLE users
(
id VARCHAR(10) PRIMARY KEY,
NAME VARCHAR(20) ,
PASSWORD VARCHAR(20)
) ;
INSERT INTO users VALUES('1','郭靖','111') ;
INSERT INTO users VALUES('2','令狐冲','222') ;
INSERT INTO users VALUES('3','乔峰','333') ;
学习jdbc学习笔记的更多相关文章
- JDBC学习笔记(2)——Statement和ResultSet
Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement ...
- JDBC学习笔记(1)——JDBC概述
JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数 ...
- 【转】JDBC学习笔记(2)——Statement和ResultSet
转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数 ...
- JDBC 学习笔记(十一)—— JDBC 的事务支持
1. 事务 在关系型数据库中,有一个很重要的概念,叫做事务(Transaction).它具有 ACID 四个特性: A(Atomicity):原子性,一个事务是一个不可分割的工作单位,事务中包括的诸操 ...
- JDBC 学习笔记(十)—— 使用 JDBC 搭建一个简易的 ORM 框架
1. 数据映射 当我们获取到 ResultSet 之后,显然这个不是我们想要的数据结构. 数据库中的每一个表,在 Java 代码中,一定会有一个类与之对应,例如: package com.gerrar ...
- JDBC 学习笔记(六)—— PreparedStatement
1. 引入 PreparedStatement PreparedStatement 通过 Connection.createPreparedStatement(String sql) 方法创建,主要用 ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- JDBC学习笔记一
JDBC学习笔记一 JDBC全称 Java Database Connectivity,即数据库连接,它是一种可以执行SQL语句的Java API. ODBC全称 Open Database Conn ...
- 【转】JDBC学习笔记(1)——JDBC概述
转自:http://www.cnblogs.com/ysw-go/ JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据 ...
随机推荐
- linux下vim 查找命令
在命令模式下输入/word 这个是查找文件中“word”这个单词,是从文件上面到下面查找?word 这个是查找文件中“word”这个单词,是从文件下上面到面查找
- php检测当前浏览器是否为微信浏览器
<?php /** php检测当前浏览器是否为微信浏览器 */ function is_weixin_browser(){ if(strpos($_SERVER['HTTP_USER_AGENT ...
- 2017全球互联网技术大会回顾(附PPT)
有幸遇见 GITC2017上海站,刚好遇见你! 为期两天(6.23~24)的GITC大会在上海举行,我有幸参加了24号的那场,也就是上周六,之所以今天才来回顾,是我想等PPT出来后分享给大家! 这应该 ...
- 【LeetCode】60. Permutation Sequence
题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
- 【Android Developers Training】 1. 创建一个Android项目工程
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Example015实现html中checkbox的全选和反选(2)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js代码风格之链式结构
<div class="box"> <ul class="menu"> <li class="level1"& ...
- Vijos 1010 清帝之惑之乾隆
背景 乾隆,雍正的第四子,在位60年,退位后又当了三年太上皇,终年89岁. 乾隆即位之初,实行宽猛互济的政策,务实足国,重视农桑,停止捐纳,平定叛乱等一系列活动中,充分体现了他的文治武功,乾隆帝向慕风 ...
- javascript之原型(prototype)
今天是第一次写博客,写点在javascript中重要的一个概念----原型(prototype): 原型,顾名思义,就是一切事物的模板. 柏拉图在<理想国>卷10中说:"床不是有 ...
- java后端程序员1年工作经验总结
java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...