Mysql初级第三天(wangyun)
1.JDBC简介
1).数据库驱动
2).SUN公司为统一数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。
3).JDBC全称:Java Database Connectivity(Java数据库连接),它主要由接口组成。
4).组成JDBC的2个包
java.sql
javax.sql
5).开发JDBC应用需要以上两个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。 2.连接数据库的步骤
加载驱动
建立连接
创建执行SQL语句
执行语句
处理执行结果
释放资源 3.加载驱动
Class.forName("com.mysql.jdbc.Driver"); // 灵活性更高 4. 建立连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbTest?useUnicode=true&characterEncoding=utf8",userId,pwd); url格式:
JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&属性名=属性值 5.创建执行SQL语句
1).Statement
Statement stmt = conn.createStatement(); // 创建向数据库发送sql的Statement对象
stmt.executeQuery( sql ); 2).PreparedStatement
String sql = "select * from table_name where col_name = ? ";
PreparedStatement ps = conn.prepareStatement(sql); // 创建向数据库发送预编译的sql的PreparedStatement对象
ps.setString(1 ,"col_value");
ps.executeQuery(); 6.处理执行结果
ResultSet rs = stmt.executeQuery();
while(rs.next()){
rs.getString("col_name");
// ...
} 1).获取任意类型的数据
getObject(int index)
getObject(String columnName) 2).获取指定类型的数据
getString(int index)
getString(String columnName) 3).next() 移动到下一行
Previous() 移动到前一行
absolute(int row) 移动到指定行【row从1开始计算】
beforeFirst() 移动到ResultSet的最前面
afterLast() 移动到ResultSet的最后面 7.释放资源
释放ResultSet,Statement,Connection
数据库连接(Connection)是十分稀有的资源,用完后必须马上释放。
Connection的使用原则是尽量晚创建尽量早释放。
释放资源语句尽量放在finally语句中。 8.使用JDBC对数据库进行CRUD
1).jdbc中的Statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,
只需要通过这个对象向数据库发送增删改查语句即可 2).Statement对象的executeUpdate方法,用于向数据库发送增删改的SQL语句,
executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库中几行数据发送了变化。) 3).Statement对象的executeQuery方法,用于向数据库发送查询的SQL语句,
executeQuery方法返回代表查询结果的ResultSet对象。 演示下面的综合练习
练习:编写程序对Student表进行增删改查操作。
练习:编写工具类简化CRUD操作。
Mysql初级第三天(wangyun)的更多相关文章
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- qlserver、Mysql、Oracle三种数据库的优缺点总结
这篇文章主要介绍了sqlserver.Mysql.Oracle三种数据库的优缺点总结,需要的朋友可以参考下 一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能 ...
- MySQL基础(三)——约束
MySQL基础(三)--约束 约束是在表上强制执行的数据校验规则,主要用于维护表中数据的完整性以及当数据之间有以来关系时,保护相关的数据不会被删除. 根据约束对列的限制,可以划分为:单列约束(只约束一 ...
- mysql优化(三)–explain分析sql语句执行效率
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
- MySQL系列(三)---索引
MySQL系列(三)---索引 前言:如果有疏忽或理解不当的地方,请指正. 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 MySQL系列(三):索引 什么是索引 如 ...
- MySQL安装的三种方式
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...
- MySQL 系列(三)事务
MySQL 系列(三)事务 一组要么同时执行成功,要么同时执行失败的 SQL 语句.是数据库操作的一个执行单元! 事务开始于: 连接到数据库上,并执行条 DML 语句(INSERT. UPDATE 或 ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- MySQL - 常见的三种数据库存储引擎
原文:MySQL - 常见的三种数据库存储引擎 数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧. ...
随机推荐
- component 理解
1: sap中的component理解 component分为 genil component 和ui component component相当于整个应用中某一小块的前台/后台所有的东西都包括进去. ...
- 以太坊如何使用CPU挖矿?
CPU挖掘 你可以用电脑的中央处理器(CPU)挖以太币.自从GPU矿工的效率高出两个数量级,它就不再盈利了.然而你可以用CPU挖掘在Morden测试网或私有链上挖矿,以便创建你测试合约和交易所需要的以 ...
- docker容器多服务(不推荐)
1.最常用方式配置进程管理工具Supervisor 2.最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本 第一种方式: 1.构建基础镜像 FROM lmurawsk/pyth ...
- Java 基础 变量和运算符
Java基础语法 第1章 变量 1.1 变量概述 1.2 计算机存储单元 1.3 基本类型之4类8种 1.4 常量与类型 1.5 定义变量(创建变量) 1.6 变量使用的注意事项 1.7 数据类型 ...
- Eclipse+GitHub 提交代码错误 -“rejected - non-fast-forward”
Eclipse Push出现rejected - non-fast-forward错误 在 Push到服务器时有时会出现 rejected - non-fast-forward 错误,这是由于远端发生 ...
- 谷歌启用抓取JavaScript,应对方案!
谷歌启用了抓取JavaScript来深入了解网站,这样,如果网站或黑页是加了跳转代码或判断代码,很有可能将会被识别出来.虽然目前只是谷歌启用识别JavaScript文件,但国内搜索引擎很可能也会跟着模 ...
- Kotlin 范型约束
官方的示意及其简约,该说的一概没说 我在这里给大家一个完整的例子 //test.kt fun <T> cloneWhenGreater(list: List<T>, thres ...
- (转载)cmd-命令大全及详解
原文地址:http://greatverve.cnblogs.com/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . 虽然 ...
- ida信息获取函数
idc. http://www.cnblogs.com/fply/p/8503929.html 获取ida可执行文件路径 GetIdaDirectory() print GetIdaDirect ...
- React对比Vue(01 数据的定义,使用,组件的写法,目录结构等)
1.脚手架对比 两个都需要安装node node自带npm 然后安装cnpm yarn(有时候 npm会丢包,所以) npm install -g cnpm --registry=https://re ...