本周主要介绍JDBC中的两个文本大对象CLOB和BLOB,并根据前面在JDBC中编程的分析,封装了一个连接数据库和关闭流操作的工具类JDBCUtil。...-MEDIUMTEXT最大长度为16777215(2^[24]-1)字符的TEXT列。 -LONGTEXT最大长度为4294967295或4GB(2^[32]-1)字符的TEXT列。...-MEDIUMBLOB最大长度为16777215(2^[24]-1)字符的BLOB列。 -LONGBLOB最大长度为4294967295或4GB(2^[32]-1)字符的BLOB列。...为了我们插入文本大对象,我们在表格设计的过程中,再增加一项myInfo属性,数据类型为“text”,主要用于接收来自外部的CLOB对象。 ?...2.在test02中,直接利用list的add方法,将多条记录封装到了list中;在test03中,使用map,以empname作为键,以emp对象作为值,进行存储。
今天没有学员提问 只有同事点名 怎么一键取消隐藏的行和列 假设一个表是这样的 我们看到不连续的字母和数字 就知道它有隐藏行列了 如何快速取消隐藏呢 直接上GIF 第一步 点击A和1的交界处全选...第二步 点击开始->格式->隐藏和取消隐藏->取消隐藏行/列 还有一种比较高端的方法 写VBA Sub showAll() Cells.Rows.Hidden = 0 Cells.Columns.Hidden
last").append(' '+ ''); } }) 如果最后列的内容为正数追加上升图标
问题现象JDBC 驱动查询 date 类型字段,对 ResultSet 直接调用 getString 方法,驱动返回的字符串只有日期,没有时分秒。...如上 Java 代码片断只返回 YYYY-MM-DD 类型的字符串,没有带时分秒问题的风险及影响返回的字符串只有日期,没有时分秒,影响业务逻辑。问题影响的版本所有的 YashanDB 驱动。...解决方法及规避方式使用 rs.getTimestamp(1).toString()规避,或者在 jdbc 驱动连接串增加 mapDateToTimestamp=true(文档链接:
如果了解Excel中的一些快捷键,特别是方便经常操作任务的快捷键,将会极大地提高我们使用Excel的效率。这里,介绍用于方便操作行和列的6个快捷键。...无论何种操作,都需要好几步,其实可以使用组合键来完成插入新列或新行的操作。 插入新列 按Alt+i+c组合键,将在当前列的左侧添加新列。其中,“i”代表插入,“c”代表列。...插入新行 按Alt+i+r组合键,将在当前行的上方添加新行。其中,“i”代表插入,“r”代表行。 插入是Excel中最常用的操作之一,然而选择整个数据列或该列中的一部分数据,也是常见操作。...通常,我们会使用鼠标选择某列的起始单元格,按住鼠标左键并向下浏览,选择整列或该列的一部分。也可以在选择顶部或左侧单元格后,按住Shift键,再向下或向右选择至指定的单元格。...选择整列 按Ctrl+空格键选择当前单元格所在的整列。 选择整行 按Shift+空格键选择当前单元格所在的整行。 注意,如果与输入法指定的快捷键相同,上述两个组合键可能失效。
本文将展示3种,Java中通过Map的值获取其键的方式。本文将讨论不同方法的优缺点。...方法2: 函数式查找 我可以采用Java8的Lambda表达式,来更灵活和可读地方式实现类似功能。 我们可以使用Stream的map函数,返回满足条件的Entry的键。...Set capitals = keyStream2.collect(Collectors.toSet()); 二、利用Apache Commons Collections库 如果需要多次调用上述方法来查询某个值对应的键...如果键值对的值已经存在map中,你调用put方法,将会移除旧的entry对象。换句话说,该类是依据值来更新键的。 另外,该功能需要大量内存来存放反向map。...我们要根据使用场景来选择最合适的方式。
,默认的列族为0 还有一个0:_0这个列是没有值的,这个是Phoenix处于性能方面考虑增加的一个列,不用管这个列。...dbinfo 提供有关数据库的元数据信息 !describe 描述一个表 !dropall 删除当前数据库中的所有表 !exportedkeys 列出指定表的所有导出键 !go 选择当前连接 !...importedkeys 列出指定表的所有导入键 !indexes 列出指定表的所有索引 !isolation 为此连接设置事务隔离 !list 列出当前连接 !...set 设置sqlline变量 C: 建立employee的映射表—数据准备 数据准备然后我们来建立一个映射表,映射我之前建立过的一个hbase表 employee.有2个列族 company、family...来表示 family.age 是新增的字段,之前建立测试数据的时候没有建立这个字段的原因是在hbase shell下无法直接写入数字型,使用UPSERT 命令插入数据的时候就可以看到真正的数字型在hbase
基本使用 什么是JDBC JDBC的连接 DDL操作 DML操作 DQL操作 什么是JDBC JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准...在使用时通过JDBC就能连接各种数据库了 JDBC连接 1.下载对应数据库平台提供的驱动包即实现包 2.放到项目中通过builder path加载包 3.加载驱动(我的是mysql-connector-java...,第一列的值 getInt("列名") // 当前游标指定行下,指定列名的列的值 getString(1)// 列的值的类型是int就用getInt,是字符就用getString() 3.获取表中指定行的信息...,通过循环将一列一列的记录对象添加到列表 stu.setId(result.getInt("id")); stu.setName(result.getString("name")); stu...这样对于只是做一条语句的执行太麻烦。我们可以对这些操作放到一个类中,通过调用类中对应的方法来执行想要的操作。
如果我们使用的mysql是5.7版本,我们则可以使用mysql5.7版本提供的一个新特性--虚拟列来达到上述效果虚拟列在mysql5.7支持2种虚拟列virtual columns 和 stored columns...CONNECTION_ID(), CURRENT_USER(), NOW()e、可以将已存在的普通列转化为stored类型的衍生列,但virtual类型不行;同样的,可以将stored类型的衍生列转化为普通列...,但virtual类型的不行f、虚拟列定义不允许使用自增 (AUTO_INCREMENT),也不允许使用自增基列g、虚拟列允许修改表达式,但不允许修改存储方式(只能通过删除重新创建来修改)h、如果虚拟列用作索引...一次用作虚拟列的值,一次用作索引中的值3、虚拟列的使用场景a、虚拟列可以简化和统一查询,将复杂条件定义为生成的列,可以在查询时直接使用虚拟列(代替视图)b、存储虚拟列可以用作实例化缓存,以用于动态计算成本高昂的复杂条件...大体介绍了一下虚拟列,如果是使用mysql8.0.13以上的版本,可以函数索引,他的实现方式本质也是基于虚拟列实现。
("jdbc.password="+properties.getProperty("jdbc.password")); } 下面来聊聊上面的这段代码: this.getClass().getResourceAsStream...setProperty(String key, String value) :调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键值对。...stringPropertyNames() :返回此属性列表中的一组键,其中键及其对应的值是字符串,如果尚未从主属性列表中找到相同名称的键,则包括默认属性列表中的不同键。...键或键不是String类型的属性将被省略。...PropertyResourceBundle类关系图 所以,上面代码中的bundle.getString("jdbc.url")其实调用的是父类中方法; public final String getString
JDBC:Java DataBase Connectivity,是SUN公司提供的一套操作数据库的标准规范(技术)。 JDBC与数据库驱动的关系:接口与实现的关系。 ? ..."); // 把奶瓶的Build Path给Remove掉,代码也不会报错了 用到反射机制的知识:靠类的全路径来加载,解耦合了,不依赖数据库的驱动jar包了,以后会把上面的字符串放在配置文件里...) 以String 形式获取ResultSet结果集当前行指定列号值 String getString(String colLabel) 以String 形式获取ResultSet结果集当前行指定列名值...把某一部分代码加上try...catch...的快捷键:Alt + Shift + Z 1 package com.itheima.jdbcdemo; 2 3 import java.sql.Connection...13 * 14 * 把某一部分代码加上try...catch...的快捷键:Alt + Shift + Z 15 */ 16 public class Demo4 { 17
rs.getString(3) + "\t" + rs.getString(4)); } } } } 4、执行SQL语句的方式 JDBC 不仅可以执行查询, 也可以执行 DDL、...(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3)); // 修改记录指针所有记录、第2列的值 rs.updateString..., Blob 列通常用于存储大文件, 典型的 Blob 内容是一张图片或一个声音文件, 由于它们的特殊性, 必须使用特殊的方式来存储。...ResultSet 里包含哪些数据列, 以及每个数据列的数据类型, 那么可以通过 ResultSetMetaData 来获取关于 ResultSet 的描述信息。...、 外键等信息。
DBUtils 基本介绍 commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装。...简化了jdbc编码的工作量 API介绍 org.apache.commons.dbutils.QueryRunner org.apache.commons.dbutils.ResultSetHandler...Map对象,键值对:键SQL查询的列名(不是别名),列的值 public void testMapHandler() throws SQLException { QueryRunner...,Map对应查询的一条记录:键值堆:键SQL查询的列名(不是列的别名),值:列的值,而MapListHandler:返回的多条记录对应的Map的集合 public void testMapListHandler...Connection connection = null; String sql = "select name" + "from customers"; // 如果是两列的情况返回一列
JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。...JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。...来表示,调用 PreparedStatement 对象的 setXxx() 方法来设置这些参数. setXxx() 方法有两个参数,第一个参数是要设置的 SQL 语句中的参数的索引(从 1 开始),第二个是设置的...ResultSet 接口的常用方法: boolean next() getString() … 6、ResultSetMetaData 用于获取关于 ResultSet 对象中列的类型和属性信息的对象...// 获取列值 Object columnVal = rs.getObject(i + 1); // 获取列的别名:列的别名,使用类的属性名充当 String
1、指定两列的联合外键 CREATE TABLE 表名( Sname VARCHAR(255), Spass VARCHAR(255), CONSTRAINT 约束名 FOREIGN KEY(...创建索引: 1、自动 当在表上定义主键约束、唯一约束、外键约束时,系统自动创建对应的索引。...1、加载数据库驱动 通常使用Class类的forName()静态方法来加载驱动。...可更新:可调用ResultSet的方法来修改记录指针所指记录、特定列的值。...JDBC事务支持 调动Connection的**setAutoCommit()**方法来关闭自动提交,开启事务。
,是进行数据库连接的抽象层.由java编写的一组类和接口,接口的实现由各大数据库厂商来实现 JDBC 入门案例 使用junit测试用例 /** * @Auther: yanqi * 只有无返回值和没有参数据的情况下才能使用...,如果找到就取出 /** * 取值方式有两种: * 1、按字段名来取,比较真观,推荐使用(常用) * 2、按列号来取,可以在字段少的情况下使用 */...int id = rs.getInt(1);//表示第一列id字段 String username = rs.getString(2);//表示第二列username字段 String...* 2、按列号来取,可以在字段少的情况下使用 */ int id = rs.getInt(1);//表示第一列id字段...String username = rs.getString(2);//表示第二列username字段 String passworld2 = rs.getString(
Jdbc JDBC入门 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。...()方法时,“行光标”就到了第一行记录的位置,这时就可以使用ResultSet提供的getXXX(int col)方法来获取指定列的数据了: rs.next();//光标移动到第一行 rs.getInt...之获取列数据 可以通过next()方法使ResultSet的游标向下移动,当游标移动到你需要的行时,就需要来获取该行的数据了,ResultSet提供了一系列的获取列数据的方法: String getString...如果你清楚当前列的数据类型,那么可以使用getInt()之类的方法来获取,如果你不清楚列的类型,那么你应该使用getObject()方法来获取。...ResultSet还提供了一套通过列名称来获取列数据的方法: String getString(String columnName):获取名称为columnName的列的String数据; int getInt
JDBC定义 JDBC(Java Data Base Connectivity,java数据库连接),说白了就是用Java语言来操作数据库.它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问...JDBC作用 通过上面介绍,我们知道了,如果要java语言来操作数据库,就需要使用JDBC,那么我们使用JDBC到底可以做些什么操作哪?...我们在jdbc中使用url很重要的一个目的是为了让DriverManager知道我们要通过哪一个数据库驱动来完成与数据库的连接。...) :参数columnIndex代表的是列的序号,第一列序号为1,第二列是2,以此类推 获取指定类型数据 int getInt(int columnIndex) int getInt(String columnLabel...getString(String columnLabel) 以上只是列举出一部分获取指定类型数据的方法,其它的可以查看API 四、JDBC CRUD操作 1.
领取专属 10元无门槛券
手把手带您无忧上云