JDBC
Aluem
每一篇水文,都是对努力者的亵渎
展开
-
Java如何给Mysql中插入year类型数据
文章目录Java如何给Mysql中插入year类型数据实际问题:解决方案:从数据库中读取year类型数据到Java从Java中往数据库存储year数据Java如何给Mysql中插入year类型数据实际问题:有时候我们mysql数据库需要存储以年为单位的数据。这时我们可能会用到year类型数据,如下图:当我们从数据库中查询数据或插入数据时,需要相应的类型变量。解决方案:从数据库中读取year类型数据到Java此时我们可以使用java.util.Date类型来进行接收,但月份和日期会默认为1月原创 2020-09-16 19:03:39 · 2637 阅读 · 0 评论 -
java.sql.SQLException: Data truncated for column ‘xxxxx‘ at row 1
java.sql.SQLException: Data truncated for column ‘xxxxx’ at row 1大意为:数据截断:第1行的“ publish_year”列的值超出范围产生异常原因:该异常通常为Java中的数据类型与mysql数据库的类型不一致导致。解决方法:检测相应的类型并修改即可。...原创 2020-09-16 18:52:02 · 928 阅读 · 0 评论 -
PreparedStatement 使用like 模糊查询
sql语句不必修改,在填充占位符时将需要模糊查询的字段拼接 % 即可,如下代码 @Override public List<Book> selectByName(Connection conn, String name) { String sql = "select * from book where book_name like ?"; return getForList(conn, sql, "%" + name + "%"); }.原创 2020-09-16 16:57:50 · 378 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Can not set xxxx field XXXX
IllegalArgumentException: 非法参数异常产生异常的原因:在Java与mysql交互数据时,由于定义数据类型的不一致,我们在从mysql中读取数据到Java中进行类型转换时,时常会因为数据类型的不一致而导致该异常。解决方法:以我目前的案例为例:Book类对应mysql中的book表,类中定义了一个Year类型的publishYear变量mysql表中定义了一个year类型变量由于java数据类型与mysql类型的数据对应不是这两个类型,因此发生以下异常:jav原创 2020-09-16 11:19:41 · 16953 阅读 · 1 评论 -
JDBC学习笔记 day06 Apache-DBUtils实现CRUD操作
第9章:Apache-DBUtils实现CRUD操作9.1 Apache-DBUtils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。API介绍:org.apache.commons.dbutils.QueryRunnerorg.apache.commons.dbutils.ResultSetHandler工具类:org.原创 2020-09-12 15:24:25 · 158 阅读 · 0 评论 -
JDBC学习笔记 day05 数据库连接池
第8章:数据库连接池8.1 JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这原创 2020-09-12 12:41:02 · 161 阅读 · 0 评论 -
JDBC异常处理 使用c3p0连接数据库异常CannotAcquireResourceException
文章目录JDBC异常处理 使用c3p0连接数据库异常CannotAcquireResourceException1.版本2.异常信息3.异常原因 & 解决方法JDBC异常处理 使用c3p0连接数据库异常CannotAcquireResourceException1.版本2.异常信息大意为:线程池无法从其主要工厂或来源获取资源。3.异常原因 & 解决方法在我们使用线程池来连接数据库时,常用的配置文件为xml文件。当我们使用其获取连接时,需要指定配置文件中的配置文件名原创 2020-09-12 10:36:03 · 390 阅读 · 0 评论 -
JDBC学习笔记 day04 数据库事务 & DAO及相关实现类
文章目录第6章: 数据库事务6.1 数据库事务介绍6.2 JDBC事务处理6.3 事务的ACID属性6.3.1 数据库的并发问题6.3.2 四种隔离级别6.3.3 在MySql中设置隔离级别第7章:DAO及相关实现类BaseDAOCustomerDAOCustomerDAOImplDAO优化存在的小瑕疵解决步骤:优化后代码BaseDAOCustomerDAOCustomerDAOImpl第6章: 数据库事务6.1 数据库事务介绍事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。事务处原创 2020-09-11 15:11:01 · 544 阅读 · 0 评论 -
JDBC学习笔记 day03 操作BLOB类型字段 及 批量插入
文章目录第4章 操作BLOB类型字段4.1 MySQL BLOB类型4.2 向数据表中插入大数据类型4.3 修改数据表中的Blob类型字段4.4 从数据表中读取大数据类型第5章 批量插入5.1 批量执行SQL语句5.2 高效的批量插入5.2.1 实现层次一:使用Statement5.2.2 实现层次二:使用PreparedStatement5.2.3 实现层次三5.2.4 实现层次四第4章 操作BLOB类型字段4.1 MySQL BLOB类型MySQL中,BLOB是一个二进制大型对象,是一个可以存原创 2020-09-11 10:59:38 · 383 阅读 · 0 评论 -
JDBC学习笔记 day02 使用PreparedStatement实现CRUD操作
第3章:使用PreparedStatement实现CRUD操作3.1 操作和访问数据库数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式:Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。PrepatedStatement:SQL 语句被预编译并存储在此对象中,可以使用此对象多次高效地执行该语句。Callable原创 2020-09-03 22:38:51 · 221 阅读 · 0 评论 -
JDBC学习笔记 day01 JDBC概述 & 获取数据库连接
第1章:JDBC概述1.1 数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。1.2 Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库JDO (Java D原创 2020-08-11 16:05:42 · 175 阅读 · 0 评论