JDBC基础01
今日知识
1. JDBC基本概念
2. 快速入门
3. 对JDBC中各个接口和类详解
JDBC:
1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
2. 快速入门
*步骤:
1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
2.右键-->Add As Library
2. 注册驱动
3. 获取数据库连接对象 Connection
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接受返回结果
7. 处理结果
8. 释放资源
* 代码实现:
//1. 导入驱动jar包
//2.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
//4.定义sql语句
String sql = "update account set balance = 500 where id = 1";
//5.获取执行sql的对象 Statement
Statement stmt = conn.createStatement();
//6.执行sql
int count = stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stmt.close();
conn.close();
JDBC:封装
1. 新建文件db.properties
//存放对应的键值对
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
user=root
password=123456
2. JDBCUtils编写
public class JDBCUtils {
-- 获取Connection对象
public static Connection getConnection() throws Exception{
Connection connection = null;
//加载Driver类
Properties properties=new Properties();//获取键值对
//获取输入流,读取文件
properties.load(new FileReader("db.properties"));
String driver=properties.getProperty("driverClass");
String url=properties.getProperty("url");
String user=properties.getProperty("user");
String password=properties.getProperty("password");
//2. 注册驱动
Class.forName(driver);
// 3. 获取数据库连接对象 Connection
connection= DriverManager.getConnection(url,user,password);
return connection;
}
-- 释放资源
public static void releaseResource(Connection connection, Statement statement, ResultSet resultSet){
if (connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
对JDBC中各个接口和类详解
1. DriverManager:驱动管理对象
*功能
1. 注册驱动
Class.forName("com.mysql.jdbc.Driver");
2. 获取数据库连接
Connection connection= DriverManager.getConnection(url,user,password);
*参数:
* URL:指定的链接的路径
*url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
* user:用户名
* password:密码
2. Connection
*功能:
1.获取执行SQL的对象
*PreparedStatement preparedStatement(String sql):
*Statement creatStatement();
2. 管理事务
1. 开启事务:*con.setAutoCommit(false):开启事务
2. 回滚:rollback;
*在catch中回滚事务
3. 提交事务:commit;
3. Statement:执行sql的对象
*功能:
1.boolean execute(String sql);//执行任意类型的sql语句
2. int executeUpdate(String sql);//执行任意类型的sql语句 执行DML(insert,update,delete),DDL(create,alter,drop)
* 返回值影响行数,可以通过返回值判断DML语句是否执行成功
3. ResultSet executeQuery(String sql):DQL(select)类型
4. ResultSet:
* 功能
*next():游标下移一个
*st.next():判断当前行是否是最后一行
*getXxx():获取值,Xxx代表获取的值的类型
getXxx(int i):获取值
i:代表列,第i列
例如:getString(1);
getXxx(String i):获取值
i:代表列的属性值
例如;getString("id");
5. PreparedStatement
*功能:
使得sql执行语句分两步执行,防止用户使用sql的关键字达到非法访问数据库的目的
例如:
//2.定义sql语句
String sql="insert into account values(null,?,?)";
//定义sql语句执行对象,防止注入
PreparedStatement st=con.prepareStatement(sql);
//给? 赋值
st.setString(1, xxx);
st.setString(2, xxx);
//执行sql
rs=st.executeQuery(sql);
JDBC基础01的更多相关文章
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
- Androd核心基础01
Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...
- java基础学习05(面向对象基础01)
面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...
- jdbc基础 (四) 批处理
批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: package com.cream.ice.jdbc; import java.sql.Connection; import ja ...
- jdbc基础 (三) 大文本、二进制数据处理
LOB (Large Objects) 分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...
- jdbc基础 (二) 通过properties配置文件连接数据库
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...
- Linux基础01 学会使用命令帮助
Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...
- JDBC基础教程
本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...
随机推荐
- 启动MyEclipse 出现java.lang.RuntimeException: No application id has been found 解决办法
咋一看,太熟悉了,就去eclipse\links 目录下,发现指定的MyEclipse的路径不对. 突然想起来了,MyEclipse是换地了. MyEclipse里面内置的eclipse找不到MyEc ...
- 【PostgreSQL-9.6.3】修改监听的IP和端口
在数据目录下编辑postgresql.conf文件,我的数据目录是/usr/local/pgsql/data vi postgresql.conf 找到如下内容: ... #listen_addres ...
- SQL Server实现用户注册
用SQL Server注册用户,通过页面输入注册信息,存储到数据库. <form action="zhuChe.jsp" method="post" on ...
- SQL Server对数据进行修改
SQL Server对数据进行修改,修改数据库中的数据. auto"> <tr style="background:red"> <td>编号 ...
- C++:C++在图片特定区域之外产生随机数
参考原文:C++产生随机数 (整数) C++在图片特定区域之外产生随机数,避开正则表达式,可以分为两种情况. 第一种:在某个数之前生成随机数:第二种,生成随机数,加上某个数,然后截断:第三种,指定范围 ...
- OpenCv:椭圆上点的计算方程
椭圆 椭圆(Ellipse)是平面内到定点F1.F2的距离之和等于常数(大于|F1F2|)的动点P的轨迹,F1.F2称为椭圆的两个焦点.其数学表达式为: ...
- SpringBoot入门系列(转)
SpringBoot入门系列:第一篇 Hello World http://blog.csdn.net/lxhjh/article/details/51711148
- jquery radio、 checkbox、 select 操作
转载:http://www.haorooms.com/post/checkandselect $("input[id^='code']");//id属性以code开始的所有inpu ...
- 浅谈 Unserscore.js 中 _.throttle 和 _.debounce 的差异
来源:http://blog.coding.net/blog/the-difference-between-throttle-and-debounce-in-underscorejs Unsersco ...
- coredata示意图
NSPersistentStoreCoordinator(Persistent Store Coordinator),缩写为PSC:存储信息+结构信息(MOM) NSManagedObjectMode ...