![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDBC
文章平均质量分 85
先树立一个小目标
这个作者很懒,什么都没留下…
展开
-
重拾JDBC(一)两种方式获取数据库连接
一、通过Driver接口获取数据库连接/** * Driver 是一个接口: 数据库厂商必须提供实现的接口. 能从其中获取数据库连接. * 可以通过 Driver 的实现类对象获取数据库连接. * * 1. 加入 mysql 驱动 * 1). 解压 mysql-connector-java-5.1.7.zip * 2). 在当前项目下新建 lib 目录 * 3). 把 mysq...原创 2018-05-11 21:57:34 · 455 阅读 · 0 评论 -
重拾JDBC(十四)使用元数据封装JDBC框架
编写自己的JDBC框架 http://www.cnblogs.com/xdp-gacl/p/4006830.html一、元数据介绍元数据指的是”数据库”、”表”、”列”的定义信息。1.1、DataBaseMetaData元数据Connection.getDatabaseMetaData()获得代表DatabaseMetaData元数据的DatabaseMetaDa...原创 2018-05-12 13:51:29 · 201 阅读 · 0 评论 -
重拾JDBC(十五)Apache的DBUtils框架学习
Apache的DBUtils框架学习http://www.cnblogs.com/xdp-gacl/p/4007225.html一、commons-dbutils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbu...原创 2018-05-12 13:50:08 · 207 阅读 · 0 评论 -
重拾JDBC(十三)配置Tomcat数据源
配置Tomcat数据源 http://www.cnblogs.com/xdp-gacl/p/4002804.html在实际开发中,我们有时候还会使用服务器提供给我们的数据库连接池,比如我们希望Tomcat服务器在启动的时候可以帮我们创建一个数据库连接池,那么我们在应用程序中就不需要手动去创建数据库连接池,直接使用Tomcat服务器创建好的数据库连接池即可。要想让Tomcat服务器在启...原创 2018-05-12 13:49:44 · 778 阅读 · 0 评论 -
重拾JDBC(十二)数据库连接池
数据库连接池http://www.cnblogs.com/xdp-gacl/p/4002804.html一、应用程序直接获取数据库连接的缺点用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。如下图所示:...原创 2018-05-12 13:49:18 · 176 阅读 · 0 评论 -
重拾JDBC(十一)使用JDBC进行批量处理
http://www.cnblogs.com/xdp-gacl/p/3983253.html使用JDBC进行批量处理在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。JDBC实现批处理有两种方式:statement和preparedstatement一、使用Statemen...原创 2018-05-12 13:48:51 · 160 阅读 · 0 评论 -
重拾JDBC(十)处理事务
处理事务当一个connection被创建时,默认自动提交事务;为了让多个sql作为一个事务执行:调用Connection的setAutoCommit(false),取消自动提交事务;在所有sql成功执行后,调用commit()提交事务;若出现异常,调用rollback()回滚事务;若此时Connection未关闭,需要恢复其自动提交状态。关于事务:如果多个操作, ...原创 2018-05-11 22:03:58 · 163 阅读 · 0 评论 -
重拾JDBC(九)处理BLob二进制数据
处理BLob二进制数据Mysql Blob类型介绍large objects,二进制大型对象;Mysql的四种Blob类型(只有最大存储容量的区别):存储文件过大,数据库性能下降。插入图片示例代码:/** * 插入 BLOB 类型的数据必须使用 PreparedStatement:因为 BLOB 类型 * 的数据时无法使用字符串拼写的。 * * 调用...原创 2018-05-11 22:03:35 · 176 阅读 · 0 评论 -
重拾JDBC(八)取得数据库自动生成的主键
取得数据库自动生成的主键@Test public void testGetKeyValue() { Connection connection = null; PreparedStatement preparedStatement = null; try { connection = JDBCTools.get...原创 2018-05-11 22:03:11 · 114 阅读 · 0 评论 -
重拾JDBC(七)JDBC的元数据
JDBC的元数据JDBC获得连接后得到Connection,从中可以获取数据库管理系统的各种信息;通过DataBaseMetaData对象获取。接口 DatabaseMetaData (了解即可)java.sql 接口 DatabaseMetaData常用方法:ResultSetMetaData...原创 2018-05-11 22:02:48 · 187 阅读 · 0 评论 -
重拾JDBC(六)Dao设计模式
一、Dao:Data Access Object访问数据信息的类,包含对数据的增删改查,不包含任何业务相关信息。实现功能的模块化,更有利于代码的维护和升级。涉及到的常用方法:// INSERT, UPDATE, DELETE 操作都可以包含在其中public void update(String sql, Object... args) { Connection conn...原创 2018-05-11 22:02:22 · 118 阅读 · 0 评论 -
重拾JDBC(五)利用反射及JDBC元数据编写通用查询方法
JDBC元数据ResultSetMetaData含义:描述ResultSet的元数据对象,即从中获取到结果及中列数,以及列的别名。如何获取:调用ResultSet的getMetaData()方法。常用方法:int getColumnCount():返回此 ResultSet 对象中的列数。String getColumnLabel(int column):获取指定列的...原创 2018-05-11 22:01:56 · 175 阅读 · 0 评论 -
重拾JDBC(四)使用PreparedStatement
使用PreparedStatement为何要使用PreapredStatement?使用statement需要拼接sql语句,麻烦;可以有效防止sql注入;提高性能。表示预编译的 SQL 语句的对象,可以使用占位符的sql语句。//是Statement的子接口public interface PreparedStatementextends Statement语法示...原创 2018-05-11 22:01:03 · 154 阅读 · 0 评论 -
重拾JDBC(三)通过ResultSet执行查询操作
通过ResultSet执行查询操作/** * ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果. * 1. 调用 Statement 对象的 executeQuery(sql) 可以得到结果集. * 2. ResultSet 返回的实际上就是一张数据表. 有一个指针指向数据表的第一样的前面. * 可以调用 next() 方法检测下一行是否有效. 若有效该方法返回 ...原创 2018-05-11 21:59:38 · 292 阅读 · 0 评论 -
重拾JDBC(二)通过Statement执行更新操作
通过Statement执行更新操作 /** * 通过 JDBC 向指定的数据表中插入一条记录. * * 1. Statement: 用于执行 SQL 语句的对象 * 1). 通过 Connection 的 createStatement() 方法来获取 * 2). 通过 executeUpdate(sql) 可以执行 SQL 语句....原创 2018-05-11 21:58:42 · 253 阅读 · 0 评论 -
使用c3p0连接池操作mysql数据库中文乱码解决办法
在c3p0-config.xml配置文件中加上?useUnicode=true&characterEncoding=UTF8,前提是表单获取的参数已经经过utf-8编码,数据库也是utf-8。<c3p0-config> <default-config> <property name="driverClass" >com.mys...转载 2018-05-12 13:52:01 · 834 阅读 · 0 评论