随笔分类 -  JDBC

摘要:初步封装模版:设置传参 定义Handler 接口: 在对应的实现类中 ,定义内部类实现 Handler 对应的操作,比如:Student 对象的操作。 测试: private IStudentDao dao = new StudentImpl(); 补上Dao: DQL操作模板:query方法,还不 阅读全文
posted @ 2017-04-20 11:49 Qingyun_Qearl 阅读(121) 评论(0) 推荐(0) 编辑
摘要:c3p0连接池,是Hibernate推荐使用的连接池,该连接池已有接近10年没有更新了. c3p0性能很高,其实是在测试环境高,真实应用中很低. Java框架数据库连接池比较(c3p0,dbcp和proxool) 准备: 1):拷贝jar:c3p0-0.9.1.2.jar 2):build path 阅读全文
posted @ 2017-04-19 18:01 Qingyun_Qearl 阅读(159) 评论(0) 推荐(0) 编辑
摘要:DBCP连接池是Apache提供的,性能也不错: 准备: 1):拷贝jar:commons-dbcp-1.4.jar , commons-pool-1.5.6.jar 2):build path,添加到classpath路径. 3):阅读文档:commons-dbcp-1.3-src\doc\Bas 阅读全文
posted @ 2017-04-19 17:39 Qingyun_Qearl 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1.为什么必须使用数据库连接池: 普通的JDBC数据库连接(Connectiond对象)使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间),数据库的连接是比较昂贵的(创建的成本比较大)。 阅读全文
posted @ 2017-04-19 16:49 Qingyun_Qearl 阅读(871) 评论(0) 推荐(0) 编辑
摘要:1.在开发的逻辑中经常会用到要获取主键信息的情况,比如新用户注册之后,要完善个人信息等。就需要在注册成功save之后,获取到给用户分配的id信息,以保证update的操作。 2.如何在JDBC中保存数据的时候获取自动生成的主键呢? Statement方式: int executeUpdate(Str 阅读全文
posted @ 2017-04-19 16:08 Qingyun_Qearl 阅读(1053) 评论(0) 推荐(0) 编辑
摘要:1.BLOB系列是大的二进制类型,允许存储(255个字节到4G). 二进制类型存储二进制数据(图像,音频,视频等); 在开发中,对于图片,音频,视频,我们往往是不会直接存储到数据库中的. 我们把图片,音频,视频存储到服务端磁盘中,然后在数据库表中存储其存储的位置(路径)去获取对应的信息. 2.TEX 阅读全文
posted @ 2017-04-19 15:36 Qingyun_Qearl 阅读(378) 评论(0) 推荐(0) 编辑
摘要:批量操作(batch):当需要成批插入或者更新记录时。可以采用Java的批量更新机制. 这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率. JDBC的批量处理语句包括下面两个方法: addBatch(String sql):添加需要批量处理的SQL语句或是参数; ex 阅读全文
posted @ 2017-04-19 15:21 Qingyun_Qearl 阅读(3505) 评论(0) 推荐(2) 编辑
摘要:事务的ACID属性: 1. 原子性(Atomicity):原子在化学中,是最小单位,不可以再分割了. 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2. 一致性(Consistency):包装数据的完整性. 事务必须使数据库从一个一致性状态变换到另外一个一致性状态。 阅读全文
posted @ 2017-04-19 15:11 Qingyun_Qearl 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Statement 与PreparedStatement 的区别: SQl语句执行中首先服务器进行:1.安全性分析,2.SQL的语句分析。3.SQL的语句编译 4.执行。 在预编译中,如果有之前存在SQL 语句,就可以省略以上其他步骤,直接执行SQL。这样在性能上PreparedStatement要 阅读全文
posted @ 2017-04-19 13:06 Qingyun_Qearl 阅读(98) 评论(0) 推荐(0) 编辑
摘要:使用预编译,解决拼接sql 语句的问题。 操作Student表示列如下: 数据库操作Util: properties文件: Student实体: Dao: DaoImp: Test: 阅读全文
posted @ 2017-04-19 12:39 Qingyun_Qearl 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:关闭资源 注意:⚠️上面的简单封装,虽然解决了在使用过程中书写重复代码的问题,不过还存在一个问题,那就是将数据库的基本信息写死在了源代码中,这样不利于维护,如果要修改每次得修改源代码。 解决方案:把数据库的连接信息抽取到一个配置文件(properties/xml)中存储。观察发现存储的信息,是以ke 阅读全文
posted @ 2017-04-18 14:13 Qingyun_Qearl 阅读(312) 评论(0) 推荐(0) 编辑
摘要:例如操作mysql: 阅读全文
posted @ 2017-04-18 10:22 Qingyun_Qearl 阅读(782) 评论(0) 推荐(0) 编辑
摘要:1.使用JDBC的准备环境: 2.<!--StartFragment-->JDBC的操作步骤:<!--EndFragment--> 比如 执行插入语句: 使用java7 的自动关闭资源 执行查询语句: 阅读全文
posted @ 2017-04-17 18:46 Qingyun_Qearl 阅读(303) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示