JDBC概述

原创 2016年11月29日 19:48:42
JDBC
1.JDBC javas database connectivity java数据库的连接

2.jdbc的操作步骤
第一:加载数据库驱动
Class.forName(com.mysql.jdbc.Driver);

第二:创建连接
Connection conn = 
DriverManager.getConnection("jdbc:mysql//localhost:3307/数据表名称","登录数据库用户名","登录密码");

第三:编写sql语句
String sql = "select * from user";

第四:执行sql语句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);

第五:遍历结果集,得到每一条记录
while(rs..next()){
System.out.println(re.getString("username") + " : " + re.getInt("age"));
}

第六:释放资源
rs.close();
stmt.close();
conn.close();

3.jdbc的Statement对象
执行查询
ResultSet executQuery(sql) 返回查询结果集

执行增删改
int executeUpdate(sql) 返回成功的记录

执行批处理的方法
addBatch(String sql):把多个sql语句放到批处理里面
int[] executeBatch():执行批处理里面的所有的sql

4.释放资源:
finally {
//释放资源
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}

if(stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}

if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}


5.JDBC的工具封装类
用properties格式文件存储数据库信息文件

第一种,使用properties类
public static String driverName;
public static String url;
public static String username;
public static String password;

static{
try {
Properties p = new Properties();
InputStream in = new FileInputStream("db.properties");
p.load(in);
driverName=p.getProperty("driverName");
url=p.getProperty("url");
username=p.getProperty("username");
password=p.getProperty("password");
} catch (Exception e) {
e.printStackTrace();
}
}

第二种,使用ResourceBoundle类
driverName = ResourceBoundle.getBoundle(db).getString("driverName");
url = RsourceBoundle.getBoundle(db).getString("url");
username = ResourceBundle.getBundle("db").getString("username");
password = ResourceBundle.getBundle("db").getString("password");


6.sql注入与防止
注入:在登录是输入bbb' or '1=1,因为存在bbb用户,由于or的条件只要有一个成立登录了

防止sql注入
使用PreparedStatement预编译对象就能防止sql注入

代码
//使用工具类得到数据库连接
conn = JDBC.getConnection();

编写sql
String sql = "select * from user where username=? and password=?";

对sql进行预编译
pstmt = conn.prepareStatement(sql);

s设置参数 
pstmt.setString(1,name);
pstmt.setString(2,pasw);

执行sql
pstmt.excuteQuery();

高效JDBC编程工具JadePool概述

JadePool是通过对原有pvo1.x深度整合、精心设计而得到的结果,是基于HashMap关系数据映射(HRM)技术实现的高效的JDBC编程工具。JadePool是绝对站在全局的高度所研发的一款高效...
  • wj800
  • wj800
  • 2013年03月05日 03:39
  • 1186

简述hibernate和jdbc的区别 优缺点

JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很多复杂的多表联查和复杂的数据库操作时,JDBC有优势。 相同点: ◆两者都是...
  • CNZYYH
  • CNZYYH
  • 2016年12月22日 14:15
  • 2478

java JDBC(一):JDBC概述、数据库连接

一、JDBC概述 在JDBC中的所有类和接口都定义在了java.sql包中,在此包中定义了大量的接口。 实际上JDBC是一套标准,那么所有的数据库生产厂商,只要是想支持java,则肯定...
  • Troy__
  • Troy__
  • 2014年05月07日 12:11
  • 1018

JDBC概述通过案例介绍数据库应用开发的过程

  • 2009年11月08日 16:51
  • 245KB
  • 下载

JDBC概述(持久化/版本的介绍)

首先需要了解什么是持久化(persistence): 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存...
  • fly_zhyu
  • fly_zhyu
  • 2017年07月19日 14:44
  • 154

JDBC连接数据库概述(转)

JDBC连接数据库概述 转自:http://blog.csdn.net/cd344549214/article/details/17504413#comments 一、JDBC基础知识 JD...
  • jianchaowang
  • jianchaowang
  • 2017年05月02日 11:48
  • 176

[JDBC技术]1.概述

概述 JDBC(JavaDataBase Connectivity)是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)...
  • hjf19790118
  • hjf19790118
  • 2011年12月11日 16:59
  • 205

第一季--JDBC原理概述

第一季一、JDBC原理概述1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,   并规定了JAVA开发人员访问数据库所使用的方法的掉用规...
  • XULIANGJUNSILU1
  • XULIANGJUNSILU1
  • 2011年03月04日 20:38
  • 265

JDBC 概述(一)

1.1 什么是 JDBCTM?JDBCTM 是一种用于执行 SQL 语句的 JavaTM API(有意思的是,JDBC 本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表 “Java 数据库...
  • hzhxxx
  • hzhxxx
  • 2013年08月14日 10:56
  • 1426

【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3

7.1  概述 7.1.1  JDBC回顾        传统应用程序开发中,进行JDBC编程是相当痛苦的,如下所示:   java代码: Java代码   ...
  • ivan2306
  • ivan2306
  • 2015年06月16日 11:02
  • 139
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC概述
举报原因:
原因补充:

(最多只允许输入30个字)