java.sql.SQLException: Can''t call commit when autocommit=true

2020-09-27
阅读 4 分钟
3.4k
在使用java操作数据库,创建数据库连接对象,创建事务管理器(开启事务,提交事务,回滚事务),运行代码后,报错如下java.sql.SQLException: Can't call commit when autocommit=true {代码...} 相关代码如下错误提示重点在于第一句,意思是如果当前自动提交事务的功能是开启的,就不能调用commit方法.但是就像我上面的代码,实际...

Junit4报错-No tests found matching Tests

2020-09-25
阅读 2 分钟
2.5k
Junit4-No tests found matching Tests from org.junit.runner.Request {代码...} 在上述代码编写完成后, 点击运行其中一个测试方法,就会报标题中的错误解决方式是:先运行整个测试类, 成功后, 再运行其中一个测试方法另,导包应该导的是import org.junit.Test,不能导import org.junit.jupiter.api.Test

DBUtils-QueryRunner实现查询操作

2020-09-05
阅读 5 分钟
3.2k
ResultSetHandler接口简介ResultSetHandler可以对查询出来的ResultSet结果集进行处理,达到一些业务上的需求ResultSetHandler结果集处理类本例展示的是使用ResultSetHandler接口的几个常见实现类实现数据库的查询操作,可以大大减少代码量,优化程序每一种实现类都代表了对查询结果集的一种处理方式ResultSetHandler实现...

DBUtils-QueryRunner实现增删改操作

2020-09-05
阅读 3 分钟
2.2k
核心方法update(Connection conn, String sql, Object...params)参数说明Connection conn数据库连接对象String sql占位符形式的SQLObject...paramObject类型的数组(或单一数据),用来设置占位符上的参数Connection conn: 自动模式创建QueryRunner对象时无需提供,手动模式创建时必须提供String sql: 使用?进行占位步骤概述...

DBUtils-QueryRunner概述

2020-09-05
阅读 1 分钟
1.4k
前言基于上一篇文章DBUtils简介,我们已经大体了解了Dbutils接下就学习下Dbutils中的核心功能之一QueryRunner.QueryRunner可以理解为: 是一个有权限执行SQL语句的存在QueryRunner核心类构造方法QueryRunner() 也称为:手动模式QueryRunner(DataSource ds) 也称为:自动模式. 需要提供数据源(连接池), 然后DbUtils底层自动维...

DBUtils-DbUtils简介

2020-09-05
阅读 1 分钟
2.4k
DbUtils简介使用JDBC我们发现冗余的代码太多. 为了简化开发, 我们选择使用DbUtilsDbUtils是一个对JDBC进行简单封装的开源工具类库. 使用它能够简化JDBC应用程序的开发, 同时也不会影响程序的性能使用方式:需要导入相关jar包(参考DBUtils-导入包)DBUtils核心功能介绍QueryRunner: 提供对SQL语句操作的APIResultSetHandler...

Druid-测试Druid工具类

2020-09-05
阅读 2 分钟
2.3k
在上一篇文章Druid-创建Druid连接池中,我们已经创建好了Druid连接池,也就是创建好Druid工具类接下来我们就使用该工具类执行SQL语句,测试该工具类是否可以正常工具本文使用的数据是 {代码...} 返回正确结果

C3P0-测试工具类C3P0Utils

2020-09-05
阅读 2 分钟
2.3k
在上一篇文章C3P0-基于mysql8创建C3P0连接池(jdbcUrl写法)中, 我们编写好了C3P0的配置文件, 并且自定义工具类C3P0Utils.现在就通过调用该工具类中的方法的方式执行sql语句,以此测试该工具类可否正常使用(配置文件是否编写正确, 成员方法是否创建成功 等)这里使用的数据表是 {代码...} 运行返回结果正确

DBCP-测试DBCPUtils工具类

2020-09-05
阅读 2 分钟
1.8k
现在我们就应用这个工具类执行SQL语句.目的是测试我们编写的DBCPUtils工具类是否可以正常连接数据库, 是否可以正常获取连接及归还连接

DBCP/C3P0/Druid-数据库连接池简述

2020-09-05
阅读 1 分钟
2.3k
连接池介绍什么是连接池实际开发中, "获得连接" 或 "释放资源"是非常消耗系统资源的两个过程.为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接 池连接池的好处用连接池来管理Connection,这样可以重复使用Connection.当使用完Conn...

JDBC-预防SQL注入-预处理对象PrepareStatement

2020-09-05
阅读 3 分钟
4.7k
PreparedStatement接口介绍PreparedStatement是Statement接口的子接口,继承于父接口中所有的方法.它是一个预编译的SQL语句对象预编译: 是指SQL语句被预编译,并存储在PreparedStatement对象中. 然后可以使用此对象多次市郊地执行该语句PreparedStatement特点因为有预先编译的功能, 提高SQL的执行效率可以有效的防止SQL注...

JDBC-SQL注入案例:模拟用户登录

2020-09-05
阅读 2 分钟
2.4k
需求承接上文JDBC-SQL注入简介. 在大概了解了什么是SQL注入之后,接下来使用test_02数据库表模拟用户登录操作.提示用户输入用户名和密码,使用Statement字符串拼接的方式实现用户登录步骤JDBC-编写工具类调用JDBCUtils工具类获取连接调用JDBCUtils工具类获取语句执行平台(即Statement对象)提示用户输入用户名和密码执行字...

JDBC-SQL注入简述

2020-09-05
阅读 1 分钟
1.7k
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。(百度百科)

JDBC-使用JDBCUtils工具类执行查询操作

2020-09-05
阅读 1 分钟
2.1k
{代码...}

JDBC-编写工具类

2020-09-04
阅读 2 分钟
1.5k
获得数据库连接操作,将在以后的增删改查所有功能中都存在.所以可以封装工具类JDBCUtils,提供获取连接对象的方法, 从而达到代码重复利用

JDBC-JDBC开发入门

2020-09-04
阅读 5 分钟
2.4k
前言大概了解了什么是JDBC后,接下来再具体了解一下几个常用API功能.后面就可以使用这些API执行SQL语句mysql驱动包JDBC-idea导入mysql连接java的jar包按照上面文章的步骤操作完成后,比较"硬核"的准备工作就OK了,接下来就来了解一下常用的APIAPI使用注册驱动/获得连接JDBC-java连接mysql(基于mysql8.0)注册驱动 {代码...} ...

JDBC-概述

2020-09-04
阅读 1 分钟
1.6k
JDBC(Java Data Base Connectivity) 是Java访问数据库的标准规范.是一种用于执行SQL语句的Java API.

数据库批处理-使用prepareStatement对象实现批处理

2020-09-04
阅读 3 分钟
3.9k
什么是批处理批处理(Batch)操作数据库批处理指的是一次操作中执行多条SQL语句,相比于一次执行一条,多次执行,效率提高很多当向数据库添加大量数据时,需要用到批处理实现批处理 {代码...} 常用方法介绍方法说明void addBatch()将给定的SQL命令添加到此Statement对象的当前命令列表中int[] executeBatch()每次提交一批命令...

DBUtils-导入包

2020-09-03
阅读 1 分钟
1.4k
DBUtils的jar包官网下载解压后依旧是放入myjar文件夹中

Druid-创建Druid连接池

2020-09-03
阅读 3 分钟
4.7k
jar包下载Druid的jar包下载下载后解压,依旧是放在我们之前创建好的myjar文件夹内编写配置文件创建一个名为druid,properties的文件,依旧将文件保存在resources的文件夹内(参考:C3P0-基于mysql8创建C3P0连接池(jdbcUrl写法))druid配置文件内加入以下代码 {代码...} 类似的,其中lianxi01是我的数据库,需要改成自己的passwor...

C3P0-基于mysql8创建C3P0连接池(jdbcUrl写法)

2020-09-03
阅读 4 分钟
3.9k
导入相关包c3p0的jar包下载下载.bin.文件解压后,将这两个jar包放入自己创建的myjar文件夹内编写配置文件配置文件中主要是数据库的连接信息创建一个文件c3p0-config.xml,将下面的代码拷贝进去 {代码...} jdbcUrl:在JDBC中,url原本是&分隔,现在需要改成&使用这一串替换原本的&jdbcUrl中的lianxi01是我的数...

DBCP-基于Java8导入DBCP连接池所需JAR包并编写DBCPUtils工具类

2020-09-03
阅读 3 分钟
3.7k
DBCP的jar包官网下载Pool的jar包官网下载Collections的jar包官网下载Logging的jar包官网下载mysql-connecor的jar包官网下载上述五个jar包缺一不可下载解压后,进入解压出的文件夹将这五个jar包复制出来放入自己创建的myJar文件夹中(myJar文件夹创建与说明)接下来就可以在工程中进行使用 {代码...}

JDBC-java连接mysql(基于mysql8.0)

2020-09-02
阅读 1 分钟
4k
mysql8.0以上版本的数据库连接将5.0版本的com.mysql.jdbc.Driver变更为com.mysql.cj.jdbc.Driver

JDBC-idea导入mysql连接java的jar包(mac)

2020-09-02
阅读 2 分钟
4.3k
前言本文使用的是mysql8.0版本与5.0版本相比:导包方式相同,后面代码中的注册驱动方式不同mac与pc的idea菜单和图标不是完全相同,但是步骤是差不多的下载对应版本的jar包mysql 8.0 jar包下载点击上面链接,到官网下载jar包下载后解压即可得到该版本jar包将jar包在本地放入单独一个文件夹我将这个jar包放入myJAR文件夹,等下...

JAVA基础-反射机制

2020-09-01
阅读 1 分钟
1.1k
通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制

JAVA基础-网络编程

2020-09-01
阅读 2 分钟
1.2k
网络编程的常识七层网络模型OSI(Open System Interconnect),即开放式系统互联, 是ISO组织在1985年研究的网络互连模型OSI七层模型和TCP/IP五层模型的划分如下:当发送数据时,需要对发送的内容按照上述七层模型进行层层加包后发送出去当接收数据时,需要对接收的内容按照上述七层模型相反的次序层层拆包并显示出来相关的协议...

JAVA基础-多线程

2020-09-01
阅读 5 分钟
1.4k
基本概念程序和进程的概念程序 - 数据结构+算法. 主要指存放在硬盘上的可执行文件进程 - 主要指运行在内存中的可执行文件目前主流的操作系统都支持多进程. 但进程是重量级的, 也就是新建一个进程会消耗CPU和内存窨等系统资源, 因此进程的数量比较局限线程的概念为了解决上述问题就提出线程的概念. 线程就是进程内部的程...

JAVA基础-IO流

2020-09-01
阅读 5 分钟
1.1k
IO流的概念IO就是Input和Output的简写, 也就是输入和输出的含义IO流就是指读写数据时像流水一样从一端流到另外一端,因此得旬为"流"基本分类按照读写数据的基本单位不同, 分为字节流和字符流字节流: 以字节为单位进行数据读写的流, 可以读写任意类型的文件字符流: 以字符(2个字节) 为单位进行数据读写的流,只能读写文本文...

JAVA基础-File类

2020-09-01
阅读 1 分钟
877
基本概念java.io.File类主要用于描述文件或目录路径的抽象表示信息, 可以获取文件或目录的特征信息常用方法功能概述方法声明根据参数指定的路径名来构造对象File(String path)根据参数指定的父路径和子路径信息构造对象File(String parent, String child)测试此抽象路径名表示的文件或目录是否存在boolean exists()用于...