分类:JavaSE

Java: SQLite 数据库基本操作 之 去除大小写敏感,防注入,execute,executeQuery和executeUpdate的区别

去除大小写敏感 大部分数据库在进行字符串比较的时候,对大小写是不敏感的。但是,最近使用SQLite的时候,却发现它的情况恰好相反。 假设表User的结构和值如下: UserName 1 User1 执行下面的SQL语句: SELECT * FROM [User] WHERE UserName = 'user1' 结果是没有找到任何记录。明显地,SQLite在进行字符串比较的时候,默认对大小写是敏感的。这会对应用程序造成不良的影响。比如,用户在输入用户名的时候必须严格按照大小写输入,这是一种很不好的用户体验;用户表中可能同时存在 user 和 USER 两个用户,容易造成混淆。… Read More

Java: SQLite 数据库基本操作

安装 在我们开始之前,我们需要在Java程序中使用SQLite,以确保我们有SQLite的JDBC驱动程序和Java的机器上。可以查看如何在机器上安装Java的教程。现在,让我们来检查一下如何设置SQLite的JDBC驱动程序。 下载 sqlite-jdbc-(VERSION).jar 的最新版本: sqlite-jdbc . 添加下载的jar文件sqlite-jdbc-(VERSION).jar 在类路径中,可以用带 – classpath选项,如下面例子。 前提条件 在学习本教程,应该对Java编程语言的一个很好的理解。因为要处理RDBMS,所以它需要对SQL和数据库的概念有很好的理解。 JDBC代表Java与数据库的连接,这对Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API。 JDBC库包含的API为每个通常与数据库的使用相关联的任务: 使得连接到数据库 创建SQL或MySQL语句 执行SQL或MySQL的查询数据库 查看和修改结果记录… Read More

JAVA: java第三方包学习之jsoup

使用python写爬虫的人,应该都听过beautifulsoup4这个包,用来解析HTML很方便。现在介绍一个类似于beautifulsoup4的java第三方库,功能类似。jsoup 是一个解析 HTML 的第三方 java 库,它提供了一套非常方便的 API,可使用 DOM,CSS 以及类 jQuery 的操作方法来取出和操作数据。 简介 jsoup 是一个解析 HTML 的第三方 java 库,它提供了一套非常方便的 API,可使用 DOM,CSS… Read More

JAVA: 使用FileUtils简化你的文件操作

前言: 在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化我们对文件的操作。   准备工作: 1.下载jar     地址:http://commons.apache.org/proper/commons-io/download_io.cgi 2.把commons-io-2.4.jar 这个文件导入到你的项目中   说明: 1.由于是一个工具类使用都非常的简单 所以本文只是将其分类,展示它能够提供给我们什么。 2.习惯看api的可以直接看官方的api   传送门 3.可以看一看官方的指引  指引传送门 4.FileUtils只是commons-io的其中一个工具类   分类说明演示: 1.写… Read More

java 集合类Array、List、Map区别和联系

Java集合类主要分为以下三类: 第一类:Array、Arrays 第二类:Collection :List、Set 第三类:Map :HashMap、HashTable 一、Array , Arrays Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。 1、 效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。 2、Java中有一个Arrays类,专门用来操作array 。 arrays中拥有一组static函数, equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。 fill():将值填入array中。 sort():用来对array进行排序。 binarySearch():在排好序的array中寻找元素。… Read More

java中HashMap的用法

重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。 再来看看HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。 import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; import java.util.Iterator; import java.util.Hashtable; import java.util.TreeMap; class HashMaps { public…

JAVA: 读写文件的几种方法

如果您使用java8,可以也参考这篇文章:JAVA: Java8流逐行读取文件 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; public class MainClass {… Read More

JAVA: 理解Java中的类初始化

在运行 Java 代码时,很多时候需要弄清楚程序执行的流程,而面向对象的 Java 程序并非像主要为面向过程而设计的 C 语言一样去顺序执行(简单按照代码的顺序),这使得对于类文件的加载以及执行流程的理解非常重要。本文简单介绍了 Java 类的初始化部分具体过程,包括成员变量、静态代码块、构造函数等的初始化时机及执行流程。 初始化时机 根据 javase 8 的文档说明[1],一个类(本文暂不考虑接口)T 将在下列情况第一次出现前立即被初始化: T 的一个实例被创建[2]; T 的一个静态方法被调用; T… Read More

JAVA:获得平台相关的行分隔符、路径分隔符,兼容各平台

【问题】 不同系统平台下的行分隔符、路径分隔符等常常不同。如 行分隔符在windows 下是 \r\n,在Linux下面是 \n, 在Mac下是 \r 路径分隔符在windows下是 \ ,在LInux下是 / ——来自网络资料 如何在Java程序获取当前平台的分隔符,以及其他系统相关的状态呢? import java.util.Properties; public class SeparatorUtils {… Read More

JAVA: 史上最全maven pom.xml详解

什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。 快速察看: xml 代码 <project> <modelVersion>4.0.0</modelVersion> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <packaging>...</packaging> <dependencies>...</dependencies> <parent>...</parent> <dependencyManagement>...</dependencyManagement> <modules>...</modules> <properties>...</properties> <build>...</build>

JAVA: Google Sheet API V4 入门二 :基本写入

利用 Sheets API,您可以向单元格、范围、范围集以及整个工作表写入值和公式。 本页面上的示例说明了如何使用此 API 的 spreadsheets.values 集合实现一些常用的写入操作。 请注意,也可以使用 spreadsheet.batchUpdate 方法写入单元格值,如果您希望同步更新单元格格式设置或 spreadsheets.values 集合不会影响的其他属性,此方法将非常实用。不过,对于简单的值写入操作,使用 spreadsheets.values.update 或 spreadsheets.values.batchUpdate 更简单。 在这些示例中,占位符 spreadsheetId 用于表示您需要提供电子表格… Read More

JAVA: Google Sheet API V4 入门一 :基本读取

利用 Sheets API,您可以读取单元格、范围、范围集以及整个工作表中的值。 本页面上的示例说明了如何使用此 API 的 spreadsheets.values 集合实现一些常用的读取操作。您也可以使用 spreadsheets.get 方法读取单元格值,不过在大多数情况下,使用 spreadsheets.values.get 或 spreadsheets.values.batchGet 更加简单。 在这些示例中,占位符 spreadsheetId 用于表示您需要提供电子表格 ID 的位置,可以从电子表格网址中找到此 ID。要读取的范围在请求网址中使用… Read More

JAVA: Google Guice 学习AOP (面向切面的编程)

Guice的AOP还是很弱的,目前仅仅支持方法级别上的,另外灵活性也不是很高。看如下示例: Guice支持AOP的条件是: 类必须是public或者package (default) 类不能是final类型的 方法必须是public,package或者protected 方法不能使final类型的 实例必须通过Guice的@Inject注入或者有一个无参数的构造函数 且看示例代码 1、定义接口 package com.guice.AOP; import com.google.inject.ImplementedBy; @ImplementedBy(ServiceImpl.class) public interface Service { public… Read More