jdbc与德鲁伊的简单学习;
基本的类的关系和操作流程;
最终的替换的流程;
Java与SQL对应数据类型转换表
ResultSet与ResultSetMetaData
- PreparedStatement 的 executeQuery() 方法,查询结果是一个ResultSet 对象
- ResultSet 返回的实际上就是一张数据表。有一个指针指向数据表的第一条记录的前面。
- ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可以通过 ResultSet 对象
的 next() 方法移动到下一行。调用 next()方法检测下一行是否有效。若有效,该方法返回 true,且指针下移。
相当于Iterator对象的 hasNext() 和 next() 方法的结合体。- 指针指向一行时, 可以通过调用 getXxx(int index) 或 getXxx(int columnName) 获取每一列的值。
- 注意:操作数据库都是索引是从1开始的;
- ResultSet 接口的常用方法:
boolean next()
getString()- 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
ResultSetMetaData meta = rs.getMetaData();(rs是ResultSet)
getColumnName(int column):获取指定列的名称
getColumnLabel(int column):获取指定列的别名- 总结:. 1,如何获取 ResultSetMetaData: 调用 ResultSet 的 getMetaData() 方法即可
2. 获取 ResultSet 中有多少列:调用 ResultSetMetaData 的 getColumnCount() 方法
3. 获取 ResultSet 每一列的列的别名是什么:调用 ResultSetMetaData 的getColumnLabel() 方法
总结:
两种思想
面向接口编程的思想
ORM思想(object relational mapping)
一个数据表对应一个java类
表中的一条记录对应java类的一个对象
表中的一个字段对应java类的一个属性
sql是需要结合列名和表的属性名来写。注意起别名。
数据库连接池druid的使用
1,DataSource
DataSource用来取代DriverManager来获取Connection,获取速度快,同时可以大幅度提高数据库访问速
数据源和数据库连接不同,数据源无需创建多个,它是产生数据库连接的工厂,因此整个应用只需要一个数据源即可。(一个DataSource)
常见的类和接口:
1,DruidDataSourceFactory
方法:createDataSourse(propertise);通过加载配置文件来获取数据源;
2,ResultSetHander接口;
用来处理数据查询到的结果集;他的子类来实现;
3,QueryRunner
update()和query()操作;
更新:插入,删除,更新;
public int update(Connection conn, String sql, Object... params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。
查询:
public Object query(Connection conn, String sql, ResultSetHandler rsh,Object... params) throwsSQLException:执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理 PreparedStatement 和 ResultSet 的创建和关闭。
4,DbUtils
closeQuietly(…)关闭的操做;
5, ResultSetHandler接口及实现类
BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中
BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
scalar:adj.标量的;数量的;梯状的,分等级的
n.[数] 标量;[数] 数量
ScalarHandler:查询单个值对象
德鲁伊常见的一些类
jdbc与德鲁伊的简单学习;相关推荐
- SQL Server中的锁的简单学习
原文:SQL Server中的锁的简单学习 简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但 ...
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...
- JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- 表盘时针的html代码,html5画布操作的简单学习-简单时钟
html5画布操作的简单学习-简单时针 效果图 一.什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. ...
- QuickSkin简单学习--控制结构
QuickSkin简单学习 3.控制结构 if if ... endif 结构帮助模板的条件选择. QuickSkin支持和PHP相同的操作符. 比较操作符, 作为名称暗示,允许你比较两个值. 可以是 ...
- PL/SQL编程的简单学习
PL/SQL简单学习 1.PL/SQL块的组成部分: ① 声明部分:该部分包含了变量和常量的定义,以及变量和常量的初始值定义,这部分由关键字declare开始,如果PL/SQL块中不需要声明变量或常量 ...
- 使用JDBC来实现一个简单的增删改查
使用jdbc来实现一个简单的增删改查 package com.database;import java.sql.Connection; import java.sql.PreparedStatemen ...
- php get 传循环出来的参数_简单学习PHP中的反射
和Java一样PHP中也提供了一套完整的反射API,何为反射?以前我们是先写类,再在类中添加各种方法和属性,最后实例化一个类对象调用属性和方法.那有我们没有办法只通过这个实例对象获取到关于这个类的全部 ...
- day006bootstrap的简单学习 + 轮播图
任务1:bootstrap的简单学习 <!DOCTYPE html> <html lang="zh-CN"> <head><meta ch ...
最新文章
- Nginx — Overview
- Omi框架学习之旅 - 插件机制之omi-touch 及原理说明
- Hadoop官网的一个WordCount程序
- GDCM:检查二个dicom文件的BigEndian错误的测试程序
- 代码整洁之道-对象和数据结构
- 程序设计模式浅析(plain framework商业版设计模式)
- hive数据的导入导出方式
- 本地jupyter notebook远程连接服务器
- matlab控制图像的边界(margin),subplot的间距(gap)
- Homebrew安装gcc:curl: (60) SSL certificate problem: certificate has expired
- Hadoop学习笔记三
- 沉浮二十载,奥飞成也萧何败也萧何?
- cdr三角形转化为圆角_cdr怎么把直角变成圆角
- sophix热修复技术了解
- typecho图片插件_typecho插件:HighSlide文章弹窗相册插件
- 服务器显卡驱动重装系统,windows7旗舰版系统重装显卡驱动的方法
- 操作系统课程设计1_Linux系统
- php多级分栏,网页设计中分栏布局的几种实现方案
- 对待金融创新,央行应持更开明态度
- iOS —— SQLite3 功能使用详解 (三)
热门文章
- 一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 伯克利Adobe新研究
- 基于Java的仓库管理系统的研究与实现
- 2020.3网易互娱游戏客户端开发面试
- 软件需求管理用例方法 pdf_杭州2020年1月45日软件需求设计方法学全程实例剖析公开课(总第262期)...
- v2ary 添加多个用户id
- 基于pyqt的绘制动态matplotlib曲线
- 火狐foxyproxy + burp
- QML Component
- 【进击的技术er】草帽计划,我和小伙伴一起乘风破浪
- Oracle- (ORA-28001: the password has expired)