resultset

浅谈了解JDBC

亡梦爱人 提交于 2020-02-29 11:32:03
目录 前言 作用 JDBC的架构 步骤 JDBC常见的关键字解释 前言 Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。JDBC是面向关系型数据库的。 在J2SE中,提供了一个称之为JDBC-ODBC桥的API。 ​ --维基百科 sun 公司提供的java连接数据库的规范,包括一些常见的数据库,MySQL Oracle等。 要想通过IDEA创建项目连接借助JDBC使用mysql数据库等,这里以我使用的MySQL数据库为例, 要下载好相应的jar包,这在官网中都可以找到。通过IDEA的导包,将其添加到所在的项目列表里,就可以使用JDBC。 作用 JDBC就是对于java代码来说,在应用程序和数据库之间的一个中间层 API ,也就是 中间商 ;JDBC允许操作者按照所需要的形式去访问获取数据库信息,可以进行查询,有点类似那些数据库可视化软件的部分功能,同时支持更新指令,处理其响应并返回结果。 JDBC的架构 分为了三层和两层架构; 三层架构,中间相较于两层架构,多一个应用服务层,区分层次就是为了符合”高内聚,低耦合“的思想,可以降低层与层之间的依赖,减少依赖性,开发人员可以只用关注某一层。 双层架构 这种架构,支持直接连接数据库进行操作,这种架构

JDBC——ResultSet结果集对象

我与影子孤独终老i 提交于 2020-02-28 13:28:35
ResultSet结果集对象,封装结果。它是怎么做到封装结果的呢? 游标,类似指针索引 最初指在“列名”上,要取到数据就需要让游标向下移动 移动后就指向了第一行数据,然后通过一些方法把第一行的每一列都取出来。 一次只能获取一行中的一列数据 这个过程就涉及到了两类方法,移动和获取 移动: next():游标向下移动一行,判断当前行是否为最后一行(判断是否有数据)。如果是返回false,不是则返回ture 获取: getXXX(参数):获取数据   XXX代表数据类型,例如表格中的name 用getString     参数有两种情况     int:代表列的编号(从1开始),getString(1)1表示第一列     string:代表列的名称,getString("列名") 注意使用步骤:   ①游标向下移动一行   ②判断是否有数据   ③获取数据 while (rs.next()){①②   //获取数据   String str = rs.getString(1);   int i = rs.getInt(2);   double d = rs.getDouble(3);   System.out.println(str+" "+i+" "+d); } 基本使用 package cn.itcast.jdbc; import java.sql.*; /* * DDL语句 *

Spring5学习(五)Spring DAO

非 Y 不嫁゛ 提交于 2020-02-27 08:41:31
Spring DAO Spring对数据访问对象(DAO)的支持旨在使以一致的方式轻松使用数据访问技术(例如JDBC,Hibernate或JPA)。这使您可以轻松地在上述持久性技术之间进行切换,还使您无需担心捕获每种技术特有的异常即可进行编码。 1. 使用JDBC访问数据库 使用 JdbcTemplate 模板类操作数据 JdbcTemplate 主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法:update方法用于执行新增、修改、删除等语句; batchUpdate方法:batchUpdate方法用于执行批处理相关语句; query方法及queryForXXX方法:用于执行查询相关语句; call方法:用于执行存储过程、函数相关语句。 @RunWith ( SpringRunner . class ) @SpringJUnitConfig ( locations = "file:src/main/resources/applicationContext.xml" ) public class JdbcTemplateTest { @Autowired private JdbcTemplate jdbcTemplate ; @Test public void test1 ( ) { String sql =

JDBC简单连接MySQL

柔情痞子 提交于 2020-02-26 23:31:21
使用JAVA连接数据库的几个步骤 加载驱动类 DriverManager接口:JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序 并在数据库和相应的驱动程序间建立连接。 Class.forName(“com.mysql.cj.jdbc.Driver”) 建立连接对象(Connection) 连接对象内部包含了Socket对象,远程连接,比较耗时,Connection对象管理要点 为了提高效率,一般使用连接池来管理连接对象 需要用到的参数:url,登陆用户,登陆密码 Connction conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名?serverTimezone = GMT”,“root”,“gyx814930895”); 传入sql语句和设置参数 Statement—>(继承)PreParedStatement(带参数的sql语句) -->(继承)CallableStatement(调用存储过程) 1)Statement .createStatement()来获得Statement对象 .execute(sql语句)执行语句,返回是否有结果集 .executeQuery()运行select语句,返回ResultSet结果集 .executeUpdate() 运行insert

JDBC初级实现

情到浓时终转凉″ 提交于 2020-02-26 00:27:11
JDBC接口的介绍 1.使用JDBC接口技术,操作mysql数据库,将用户名都获取到Java程序中 JDBC是一套接口,接口不能直接使用,要通过它的实现类,这个实现类由mysql数据库厂商提供(驱动Jar包) 2.若想数据库与java程序建立连接,首先必须先将mysql的驱动jar包导入工程.lib中 JDBC四个核心对象: * 1.DriverManager:用于注册驱动(java程序与mysql数据格式统一就可以通信) 注册方式: //DriverManager.registerDriver(new Driver()); 首先该注册方式有两个问题:第一,注册了两次;第二,过分依赖了mysql的驱动类,扩展性不高 //解决注册2次的问题,那么做到只让Driver类加载一次即可 1.new Driver(); 2.Class.forname("全类名");我们可以将全类名抽取到配置文件中,动态地修改数据库连接操作,而不用修改Java代码 * 2.Connection:表示java程序与数据库之间创建的连接,只有拿到Connection才能操作数据库 * 3.Statement:执行sql语句的对象 * 4.ResultSet:结果集或一张虚拟表 JDBC访问数据库的步骤: * 1.由DriverManager注册驱动程序 * 2.创建连接对象Connection * 3

01_11_SERVLET中使用javabean

混江龙づ霸主 提交于 2020-02-21 16:32:48
01_11_SERVLET 中使用 javabean 1. javabean 广义 javabean = 普通 java 类 狭义 javabean = 符合 Sun JavaBean 标准的类 在 Servlet 中使用 Bean 和在通常程序中使用 Bean 类似 属性名称第一个字母必须小写,一般 private , 比如, private productId 一般具有 getters and setters 要具有一个参数为空的构造方法 但 Bean 不应具有 GUI 表现 一般是用来实现某一业务逻辑或取得特定结果 2. 示例 2.1 封装的 javabean 类 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DB { public static Connection getConn () { Connection conn = null ; try { Class. forName ("com.mysql.jdbc.Driver"); conn = DriverManager. getConnection (

apache DBUtils 使用例子demo

落花浮王杯 提交于 2020-02-20 10:53:34
转自:http://blog.csdn.net/earbao/article/details/44901061 apache DBUtils是java编程中的数据库操作实用工具,小巧简单实用, 1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作; 2.对于数据表的写操作,也变得很简单(只需写sql语句) 3.可以使用数据源,使用JNDI, 数据库连接池 等技术来优化性能--重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和析构这样的对象。 DBUtils包括3个包: org.apache.commons.dbutils org.apache.commons.dbutils.handlers org.apache.commons.dbutils.wrappers DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 org.apache.commons.dbutils DbUtils 关闭链接等操作 QueryRunner 进行查询的操作 org.apache.commons.dbutils.handlers ArrayHandler :将ResultSet中第一行的数据转化成 对象数组 ArrayListHandler将ResultSet中所有的数据转化成List

数据库性能优化-1

丶灬走出姿态 提交于 2020-02-16 07:13:29
出处: https://www.cnblogs.com/easypass/archive/2010/12/ 08/1900127.html 1.数据库访问优化法则 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件时硬盘可能会是瓶颈点,为什么这些一般的工作我们能快速确认瓶颈点呢,因为我们对这些慢速设备的性能数据有一些基本的认识,如网络带宽是2Mbps,硬盘是每分钟7200转等等。因此,为了快速找到SQL的性能瓶颈点,我们也需要了解我们计算机系统的硬件基本性能指标,下图展示的当前主流计算机性能指标数据。 从图上可以看到基本上每种设备都有两个指标: 延时(响应时间):表示硬件的突发处理能力; 带宽(吞吐量):代表硬件持续处理能力。 从上图可以看出,计算机系统硬件性能从高到代依次为: CPU——Cache(L1-L2-L3)——内存——SSD硬盘——网络——硬盘 由于SSD硬盘还处于快速发展阶段,所以本文的内容不涉及SSD相关应用系统。 根据 数据库 知识,我们可以列出每种硬件主要的工作内容: CPU及内存:缓存数据访问、比较、排序、事务检测、SQL解析、函数或逻辑运算; 网络:结果数据传输、SQL请求、远程数据库访问(dblink); 硬盘:数据访问、数据写入

JDBC连接数据库的操作

帅比萌擦擦* 提交于 2020-02-15 10:10:51
在连接数据库之前,应该先配置好MySQL的jar包 具体操作:File=>Project Setting=>Modules 点击“+”里面的JARs or Directories,找到下载好的jar包,在点击ok JDBC连接数据库代码 import java.sql.*; public class DBUtil2 { private static final String URL = "jdbc:mysql://localhost:3306/test"; private static final String USER_NAME = "root"; private static final String PASSWORD = "132173"; private static volatile Connection connection=null; public static Connection getConnection(){ if(connection==null){ synchronized (DBUtil2.class){ if(connection==null){ try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("数据库驱动加载成功"); } catch

Get Primary Key Column from ResultSet Java

两盒软妹~` 提交于 2020-02-15 08:01:05
问题 I am trying to get Primary Key Column(s) of table from ResultSet. Following are the Steps I followed: 1. SQL QUERY: Select id,subid,email,empname from Employee 2. Executed this from java.sql.Statement and got the Results in ResultSet. Here is the Interesting Part. 3. ResultSetMetadata rsmd = rs.getMetadata(); Now, if i watch this variable " rsmd " , it is showing primary key flags for relevant column names but I am not able to access it or get it into any variable. I need help regarding the