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)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧. ...
随机推荐
- update moudle 调用方式
向数据库中添加数据 ztt_teacher 1: 创建一个 function moudle,设置该moudle类型为 update moudle 2: 向数据库添加数据的代码 FUNCTION ...
- [js]this和call.call
JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念. https://www.cnblogs.com/coco1s/p/4833199. ...
- 银联卡中关于CVN/CVN2/ICVN的区别
银联China Union Pay,是中国唯一合法的卡组织机构,同时也是EMVCo成员.关于银联卡中CVN/CVN2/ICVN的区别,刚开始我自己不了解,但经过查找资料和请教其他人,对它们的概念也渐渐 ...
- 切换py环境【转载】
1.转自:https://blog.csdn.net/jasonfqw/article/details/72974187 方法不错的,比较简单. $ alias python='/usr/bin/py ...
- 合理利用配置不同的机器资源做redis cluster的server
Redis cluster可以使用不同配置的机器学习因为我们可以手动调整不同的机器所承担的slot的个数,这样内存小CPU相对少的机器应该承担更少的slots
- CentOS 7 时间, 日期设置 (含时间同步)
from http://blog.itnmg.net/centos-7-time-date/ yum install ntp //安装ntp服务systemctl enable ntpd //开机启动 ...
- JAVA编程思想学习笔记4-chap10-12-斗之气4段
1.内部类:Iterator 2..this生成对外部类的引用 3..new:通过外部类对象创建内部类对象 package com.chengjie; public class TestInnerCl ...
- 【转载】C# 中的委托和事件(详解:简单易懂的讲解)
本文转载自http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html C# 中的委托和事件(详解) C# 中的委托和事件 委托和事件在 ...
- sql server行列转化和行列置换
行列转换: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- - ...
- SpringBoot的json序列化及时间序列化处理
使用场景:前台的多种时间格式存入后台,后台返回同时的时间格式到前台. 1 在config目录下配置jscksonConfig.java package com.test.domi.config; im ...