学习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数据 ...
随机推荐
- java注解编程
- Object-C知识点 (四) 性能优化
#pragma mark - 性能优化 1. 行高一定要缓存 缓存行高是解决性能优化的最佳途径(除非刷新频率已经很高了,否则一定要缓存)2. 尽量减少计算,所有需要素材提前计算好3. 控件不要设置圆角 ...
- SQL SERVER 删除前判断指定的表或者存储过程是否存在
1.创建存储过程: CREATE PROCEDURE proc_pr ---将create修改成alter可以修改存储过程: AS BEGIN IF EXISTS(SELECT * FROM syso ...
- kbengine 常见问题汇总
Q: KBEngine是什么,能用来做什么?A: KBEngine是一个通用网络游戏服务器引擎,适合绝大多数中心拓扑结构的网络游戏,包括但不限于即时和回合制MMORPG.副本类.房间类.卡牌.棋牌等. ...
- window.onload的使用心得
如果我问你window.onload是什么意思,恐怕你会回答我:"这不是页面加载完就执行吗". 但是答案是不一定,得看你怎么用.看一下例子吧 例1: 代码如下: <! ...
- C# Datatable.Select()用法简介
dt为一个DataTable,以dt为例说明dt.select()方法的功能: 1.dt.Select() 获取所有行数 例:Datarow[] drs=dt.Select(); 此时drs为dt数据 ...
- Android - 关于设备版本号
设备信息可以在Settings - About 里看到 最近想改机器的build number,找到了 build/core/Makefile 里的定义 # Display parameters sh ...
- 项目DEMO下载
1.mybatis_generator自动生成代码demo github项目地址:https://github.com/JsonShare/mybatis_generator 2.设计模式解密系列示例 ...
- (转)maven镜像路径配置
很多maven包无法自动下载怎么办?设置maven镜像setting.xml <mirror> <id>repo2</id> <mirrorOf>cen ...
- 【samba】samba 用户权限配置(转)
首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.a ...