
Jdbc
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口
T_P_F
这个作者很懒,什么都没留下…
展开
-
使用连接池操作数据库报错,报错信息:java.sql.SQLException:Io异常:违反协议
使用连接池操作数据库报错,报错信息:java.sql.SQLException:Io异常:违反协议原因:我这里是因为连接关闭错误应该先关闭ResultSet,其次是Statement/PreparedStatement,最后是Connection原创 2020-09-27 14:50:35 · 739 阅读 · 0 评论 -
JDBC(9)—事务(Transaction)
数据库事务:在数据库中所谓事务是指一组逻辑操作单元,使数据从一种状态转换到另一种状态。为确保数据库中的数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这些单元中一部分操作失败,整个事务全部视为错误,所有从起始点开始以后的操作应全部回退到开始状态。事务的操作:先定义开始一个事务,然后对数据进行修改操作,这时如果提交(commit),这些修改就永久的保存下原创 2017-08-02 23:49:19 · 468 阅读 · 0 评论 -
JDBC(4)—Preparedstatement
功能:使用PreparedStatement操作数据表,其功能与Statement一致,但为何要使用PreparedStatement呢。 一、原因:1.使用sql语句进行操作数据表时,需要拼写sql语句,在拼写时容易出错,且不易排查,所以使用PreparedStatement *操作数据表时,降低sql语句的拼写难度,简化拼写sql语句的步骤,提高代码的可维护性和可读性。2.同时还可以有效原创 2017-07-24 15:21:16 · 399 阅读 · 0 评论 -
工具类TestTools
一些方法可能要使用到该工具类,该工具类中的方法包括从链接数据库到数据表中记录的增删改查。package JDBCTest;import java.io.InputStream;import java.lang.reflect.Field;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;原创 2017-07-16 22:57:51 · 765 阅读 · 0 评论 -
JDBC(2)—Statement
介绍: 获取到数据库连接之后,就可以对数据库进行一些增、删、改操作,但是却不能进行查询操作。 增删改操作是程序到数据库的一个操作过程,但是查询是程序到数据库——数据库返回到程序的一个过程。步骤:步骤:1.获取数据库连接2.准备插入的语句3.执行插入、删除、修改3_1.获取操作SQL语句的Statement对象(通过Connection的createStatement()方法来获取)3原创 2017-07-16 22:50:51 · 347 阅读 · 0 评论 -
JDBC(1)—Connection
一、简介:1.JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的 *公共接口(一组API) *定义了用来访问数据库的标准java类库,使用这个类库可以以一种标准的方法,方便的访问数据库资源。2.JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。3.JDBC的目标是使java程序员使用jdb原创 2017-07-01 10:33:02 · 500 阅读 · 0 评论 -
JDBC(3)—ResultSet结果集
简介:ResultSet:结果集。封装了使用JDBC进行查询的结果。Statement只能进行更新操作,所以使用ResultSet进行查询操作。 1.调用Statement对象的executeQuery(sql),可以得到结果集。2.ResultSet返回的实际上就是一张数据表,有一个指针指向第一个的前面,可以调用next(),检查下一行是否有效。 *若有效返回true,且指针下移。3.每当原创 2017-07-24 15:12:05 · 522 阅读 · 0 评论 -
JDBC(5)—DatabaseMetaData
1.简介: 使用元数据已实现通用的查询方法。元数据介绍:使用jdbc获得连接之后,得到一个Connection对象,可以通过这个对象获得DataBaseMetaData对象,该对象可以获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型触发器,存储过程等各方面的信息,根据这些信息JDBC可以访问一个事先并不了解的的数据库。 ** 这样通过这种方法,可以让即使只知道类名、原创 2017-07-24 15:58:24 · 444 阅读 · 0 评论 -
JDBC(6)—BeanUtils
1.简介: BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品2.Java 类的属性: 1>.在JavaEE中java类的属性通过getter和setter来定义。getter和setter方法,去掉get和set之后小写首字母,即是java 的属性。2>.而写在类中的成员属性叫:字段。 3>.一般情况下,字段名和属性名都一致。4>.原创 2017-07-24 20:02:24 · 248 阅读 · 0 评论 -
MySql数据库事务正常提交,回滚失败
问题:在初次练习Mysql数据库事务时,事务正常提交,但是在遇到异常应当回滚时,回滚失败。代码如下://2.更新操作。public void update(Connection conn, String sql, Object ...objects){ PreparedStatement preparedstatement = null; try {原创 2017-07-24 20:24:08 · 4668 阅读 · 0 评论 -
使用C3P0报错:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
错误提示:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector at JDBC.ConnectionPool.testC3P0(ConnectionPool.java:159) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at原创 2017-07-30 09:11:35 · 3879 阅读 · 2 评论 -
mysql报错:1130 -host 'localhost' is not allowed to connect to this mysql server
错误提示:1130 -host ‘localhost’ is not allowed to connect to this mysql server原因:手贱把mysql数据库系统中mysql数据库给删了解决办法:首先关闭mysql服务, 其次打开一个终端输入:mysqld –skip-grant-tables 最后再打开一个终端输入:mysqlcheck –check-upgrade –a原创 2017-08-02 20:57:12 · 6456 阅读 · 3 评论 -
JDBC(7)—DAO
介绍: DAO(Data Access Object):数据访问对象1.what:访问数据信息的类,包含了对数据的CRUD(create read、update、delete),而不包含业务相关的信息。 2.why:实现功能模块化,更有利于代码的维护和升级。3.how:使用JDBC编写DAO可能会包含的方法。public void update(String sql, Object … ob原创 2017-08-02 23:29:38 · 416 阅读 · 0 评论 -
JDBC(8)—Blob
BlobLOB,即:Large Objects(大对象),是用来存储大量的二进制和文本数据的一种数据类型(一个lob字段可以存储多达四个G的数据)。LOB分为两种类型:内部LOB和外部LOB——内部LOB将数据以字节流的形式存储在数据库的内部,因而,内部LOB的许多操作都可以参与事物, *也可以像处理普通数据一样对其进行备份和恢复操作。Oracle支持三种类型的内部LOB: BLOB(二进原创 2017-08-02 23:36:33 · 297 阅读 · 0 评论 -
JDBC(10)—批处理
批量处理JDBC语句,提高处理速度。当需要成批的的插入或更新记录时可以采用java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理,通常情况下比单独提交处理更有效率。批量处理的方法: ——addBatch(String):添加需要批量处理的SQL语句或是参数。——executeBatch():执行批量处理语句。 *通常我们会遇到两种批量执行SQL语句的情况:——多条SQL语原创 2017-08-03 00:10:07 · 282 阅读 · 0 评论 -
JDBC(11)—数据库连接池
在实际开发过程中,特别是在web应用系统中,如果程序直接访问数据库中的数据,每一次数据访问请求丢必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接。而连接并打开数据库是一件既消费资源又费时的工作,如果频繁发生这种操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术就是解决这个问题的常用方法。基本思想: 为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定量的连接,当需原创 2017-08-03 00:23:50 · 445 阅读 · 0 评论 -
JDBC(12)—DBUtils工具类
DBUtils:commons-dbutils是Apache组织提供的一个开源JDBC工具库,它是对JDBC的简单封装,并且使用dbutils会极大的简化jdbc编码的工作量,同时不会影响到程序的性能。 两个重要组成: 类:QueryRunner:SQL语句的操作对象,可以设置查询结果集的封装策略,线程安全。 接口:ResultSetHandle:封装数据的策略对象——将封装结果集中的数据,转原创 2017-08-03 10:15:14 · 497 阅读 · 0 评论 -
JDBC(13)—JDBC调用存储过程和函数
步骤: JDBC调用存储过程和函数 步骤:①:通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例,在使用Connection对象的preparedCall()方法时,需要传入一个String类型的字符串,该字符串指明如何调用存储过程。 函数: [? = call [(,, … )]] 存储过程: [call [(,, … )]原创 2017-08-03 16:17:51 · 882 阅读 · 0 评论 -
JDBC(14)—对DAO进行改进修改
结构:DAO2_7< T >(接口)—>DAOTestImpl< T >(实现类)—>CustomerDAO(继承的子类)—>CustomerDAOTest(继承的测试类)代码:接口:package JDBC;import java.sql.Connection;import java.sql.SQLException;import java.util.List;/** * 访问数据的接口原创 2017-08-03 16:30:14 · 413 阅读 · 0 评论