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)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧. ...
随机推荐
- ps切图插件
ps切图工具插件 下载网址:http://www.cutterman.cn/zh/cutterman 安装完插件,关闭ps,重新打开,窗口- 扩展,即可使用
- 堆(heap)、栈(stack)、方法区(method)
JVM内存分为3个区:堆(heap).栈(stack).方法区(method) 1.堆(heap):存储的全部对象,每个对象有个与之对应的class信息.即通过new关键字和构造器创建的对象.JVM只 ...
- 建模:通过ES平铺关系型数据库多表的数据
问:建模要从一个限界上下文中来建模,是否可以简单的把几张表进行笛卡尔乘积方式的平铺? 答:不能,原因之一,数据量会急剧增长:原因之二,这样的平铺是毫无意义的,必须要定义一个维度,在这个维度上根据需求约 ...
- js图的数据结构处理----邻链表,广度优先搜索,最小路径,深度优先搜索,探索时间拓扑
//邻居连表 //先加入各顶点,然后加入边 //队列 var Queue = (function(){ var item = new WeakMap(); class Queue{ construct ...
- Java中通过Class类获取Class对象的方法详解
方式1:通过Object类的getObject()方法 Person p = new Person(); Class c = p.getClass(); 方式2: 通过 类名.class 获取到字节码 ...
- 21.JQ的监听事件(点击div外面可以让它消失)
JQ的监听事件(点击div外面可以让它消失) //监听整个页面 $(document).bind("click", function() { //给需要的对象赋予事件 $(&quo ...
- bootstrap ui
附加访问地址:http://www.bootcss.com/p/jquery-ui-bootstrap/
- C++ 使用openssl库实现 DES 加密——CBC模式 && RSA加密——公加私解——私加公解
之前工作上需要用C++把软件生成的用户序列号用des加密cbc的模式,加密后为二进制,转化为十六进制,然后提供给java写的授权码管理平台. java平台会根据用户序列号,生成一个授权码,授权码是用r ...
- npm 安装React Devtools调试工具
有时候没有***工具时,怎么安装React DevTool, 其一直接搜索到Chrome的插件安装即可. 其二, 可以通过下载github上的react-devtools, 然后打包,最后导入chro ...
- 000-js判断电脑或手机登录
<script type="text/javascript"> try{ if(/Android|webOS|iPhone|iPod|BlackBerry/i.test ...