学习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数据 ...
随机推荐
- 如何在新浪sae服务器上面连接redis
1.创建php空应用 2.选择
- Linux程序设计之shell程序设计
看了<linux程序设计(第4版)>(作者:Neil Matthew ,Richard Stones ,陈建 ,宋健建译).做个笔记,以备后面查看. 首先,清楚几个概念. shell编程属 ...
- Perl初试
通过接口发送短信的socket小样: #!/usr/bin/perl -w # auth:lichmama@cnblogs.com # what:send message to phone # usa ...
- CSS3集锦之新增选择器、圆角、阴影、透明度、transition动画、transform变形、animation动画
---恢复内容开始--- 一.CSS3新增选择器 1.nth-chlid(n)用法 selector:nth-chlid(n)指找到第n个子元素并且该元素为selector标签 <!DOCTYP ...
- Chrome浏览器扩展开发系列之十九:扩展开发示例
翻译总结了这么多的官网内容,下面以一款博主开发的“沪深股票价格变化实时追踪提醒”软件为例,介绍Chrome浏览器扩展程序的开发,开发环境为Eclipse IDE+Chrome Browser. “沪深 ...
- Debian 8添加kali更新源并安装metasploit
一.Debian 8添加kali更新源 中科大kali更新源: deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contr ...
- Quartz的Hello world
1.准备环境jar包 Your project will need (at least) the Quartz core library, named quartz-x.y.z.jar (where ...
- python多线程爬虫设计及实现示例
爬虫的基本步骤分为:获取,解析,存储.假设这里获取和存储为io密集型(访问网络和数据存储),解析为cpu密集型.那么在设计多线程爬虫时主要有两种方案:第一种方案是一个线程完成三个步骤,然后运行多个线程 ...
- Akka(13): 分布式运算:Cluster-Sharding-运算的集群分片
通过上篇关于Cluster-Singleton的介绍,我们了解了Akka为分布式程序提供的编程支持:基于消息驱动的运算模式特别适合分布式程序编程,我们不需要特别的努力,只需要按照普通的Actor编程方 ...
- YAML文件解析
YAML是“另一种标记语言”的外语缩写,YAML 是一种比JSON(json多层次{ 与 [ 会被搞晕的)更直观的表现形式,展示上更易查错和关系描述.因为不需要一个专业工具就可以排查正确性.YAML目 ...