![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDBC
文章平均质量分 54
大数据小小罗
做一个有思想的程序设计者!
展开
-
从零开始学JDBC--1.15 ConvertUtils组件的用法
ConvertUtils组件是用来干嘛的?为下面的各种引用类型提供快捷的转换方法: 项目中我们经常会碰到将String类型转换为日期类型,需要写一些工具类专门去实现,而且相当繁琐不过,ConvertUtils组件的出现,为我们提供了更快捷更省心的方法比如:我们需要对一个人的生日(Date类型)进行赋值,输入经常会是String类型:我们先模拟一个注册表单: //模拟表单数据 Stri原创 2016-11-02 21:43:21 · 378 阅读 · 0 评论 -
从零开始学JDBC--1.12 插入一行数据同时获取自增长列
1.建表语句:包含id、用户名、密码DROP TABLE IF EXISTS users ;CREATE TABLE users( id INT PRIMARY KEY AUTO_INCREMENT, userName VARCHAR(20), pwd VARCHAR(20))2.代码实现两个重要方法:con.prepareStatement(sql,PreparedS原创 2016-11-02 16:41:19 · 307 阅读 · 0 评论 -
从零开始学JDBC--1.13 批处理
批处理就是执行多个操作关键的API:添加批处理void addBatch(String sql) 执行批处理int[] executeBatch() 清空批处理 void clearBatch() 需求:程序有100个users对象(list集合),插入数据库解决1: 写一个save方法,实现一次插入一条记录,再循环执行100次 缺点:1.频繁原创 2016-11-02 16:55:50 · 255 阅读 · 0 评论 -
从零开始学JDBC--1.14 BeanUtils组件的用法
BeanUtils是用来干什么的?答:用来操作javaBean的,用于快速设置对象的属性值 javaBean需要满足Bean的写法,按照命名规则写的Getter和Setter方法需要引入的jar包: commons-beautils-1.x.x.jar common-logging-1.x.x.jar1.通常的javaBean操作 Admin admin = new Admin();原创 2016-11-02 20:02:46 · 304 阅读 · 0 评论 -
从零开始学JDBC--1.18 自定义连接池的实现(含动态代理实现)
实现自定义连接池需要具备的若干条件: 1. 定义一个类 2. 指定成员变量: 初始化连接数、 最大连接数、 当前连接数 连接池集合(可以用List实现) 3. 构造函数:循环创建3个连接 4. 写一个创建连接的方法(重点看) 5. 获取连接的方法 6. 释放连接的方法(这个方法被代理对象代替了,貌似就没什么卵用了)详细实现:1.定义一个类,命名随意,最好能原创 2016-11-18 09:53:49 · 927 阅读 · 0 评论 -
从零开始学JDBC--1.9 代码抽取--使用Properties读取配置文件
为了更灵活的对项目进行配置,我们采用db.properties文件将配置信息存储起来,然后用Properties类去读取,代码如下: Properties props = new Properties(); FileInputStream in = new FileInputStream("./src/db.properties"); props.load(in); url原创 2016-10-24 22:44:40 · 2173 阅读 · 0 评论 -
从零开始学JDBC--1.20 连接池工具2--C3P0连接池
C3P0连接池在javaEE实际项目中用的是很多的,包括Spring和Struts2,推荐重点掌握。1.同样的,首先需要引入第三方jar包:3 数据源对象的配置与使用核心类: com.mchange.v2.c3p0.ComboPooledDataSource2.1 硬编码方式实现数据源管理(缺点:不灵活)//1. 硬编码方式实现 使用C3P0进行连接池的管理@Testpublic void C原创 2016-11-20 20:39:44 · 408 阅读 · 0 评论 -
从零开始学JDBC--1.19 连接池工具--DBCP
1.导入第三方jar包这里需要导入两个 2.如何使用?这里的管理连接池(数据源)的核心类:org.apache.commons.dbcp.BasicDataSource有两种方式来获取这个类的实例对象2.1 使用硬编码方式实现连接池的管理写一个测试类: /** * 1. 硬编码方式实现连接池 */ @Test public void testDBCP()原创 2016-11-20 20:11:09 · 376 阅读 · 0 评论 -
从零开始学JDBC--1.21 分页技术
分页技术: 如果数据有1000条,分页进行显示,每页显示10条,共100页; 分页的好处在于: 利于页面布局,且显示的效率高!分页关键点: 1. 分页SQL语句; 2. 后台处理逻辑的实现: dao/service/servlet/JSP分页技术实现的原理: 为了实现数据共享,我们使用PageBean来对分页相关的信息进行封装。 其中,PageBean中封装的内容主原创 2016-11-21 17:47:36 · 541 阅读 · 0 评论 -
从零开始学JDBC--1.8 CallableStatement-- 存储过程
1. 创建存储过程DELIMITER $CREATE PROCEDURE pro_findById(IN sid INT)BEGIN SELECT * FROM student WHERE id=sid;END $调用存储过程CALL pro_findById(5);使用java代码实现:public class CallableStmtDemo1 { private Conn原创 2016-10-24 21:54:52 · 269 阅读 · 0 评论 -
从零开始学JDBC--1.17 使用DbUtils组件实现CRUD和结果集快速封装
public class App_query { private Connection conn = null;DbUtils支持使用自定义的ResultSetHandler处理结果集 这种处理方式的优点在于:拥有极大的灵活性 缺点在于:实现方式比较繁琐,增加编码复杂度我们先看看使用这个组件实现的自定义结果集处理方法testMyQuery():1. 使用DbUtils提供的自定义封装结果原创 2016-11-07 12:19:30 · 616 阅读 · 0 评论 -
从零开始学JDBC--1.11 事务机制以及案例分析
事务的定义:事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务的特性在这里就不详细介绍了,主要是原子性、一致性、隔离性、持久性(简称ACID)java.sql.Connection类中关于事务的三个方法:Connection.setAutoCommit(false); —开启事务 Connection.rollback(); —回滚事务 Connection.原创 2016-10-28 18:28:50 · 267 阅读 · 0 评论 -
从零开始学JDBC--1.16 BeanUtils组件在Web项目中的应用
在Web应用中将从表单中获取的数据封装到对象的时候,往往要写这么几行代码: //1.获取请求参数 String userName = request.getParameter("userName"); String pwd = request.getParameter("pwd"); //封装 Admin admin =原创 2016-11-02 22:54:23 · 276 阅读 · 0 评论 -
从零开始学JDBC--1.6 DQL--ResultSet的遍历方法
1.DQL代码 不同于前面的DML过程的是,将原来的sql语句改成DQL,并且调用statement的executeQuery() 方法执行查询,返回结果使用ResultSet 进行接收。String sql = "select * from student";ResultSet rs = stmt.executeQuery(sql); 完了?没呢! 这个rs保存了查询返回的结果集,并没有读原创 2016-10-17 17:30:45 · 33601 阅读 · 0 评论 -
从零开始学JDBC--1.7 PreparedStatement-- 预编译sql
PreparedStatement和Statement的区别:1.语法不同 PreparedStatement支持占位符,预编译Statement只能执行静态sql2.PreparedStatement支持使用缓冲区支持SQL缓冲区的数据库:oracle,SQL Server 不支持SQL缓冲区的数据库:mysql结论:mysql数据库不支持PreparedStatement优化!3.安全机制原创 2016-10-24 17:23:34 · 567 阅读 · 0 评论 -
从零开始学JDBC--1.1 最简单的jdbc连接方式
本节内容,从最简单的jdbc连接方式开始,讲述如何与数据库建立连接; 这里的测试环境用Mysql5.1.73,开发前需要做一些准备,提前下载好mysql的jdbc驱动包,并导入lib库中(不会的自己百度)1.最简单的jdbc连接方式/** * 连接数据库必备的条件: * 1.准备好驱动包 和对应的url写法, * 如mysql的驱动名称com.mysql.jdbc.Driver()对应的原创 2016-10-11 16:38:11 · 692 阅读 · 0 评论 -
从零开始学JDBC--1.2 JDBC核心接口
两个重要的包名:java.sql.* 和 javax.sql.*1.Driver接口:表示java驱动程序接口。所有具体的数据库厂商要来实现此接口 重要方法 – connect(url, properties): 连接数据库的方法 url: 连接数据库的URL URL语法: jdbc协议:数据库子协议://主机:端口/数据库 user: 数据库的用户名原创 2016-10-17 09:55:39 · 435 阅读 · 0 评论 -
从零开始学JDBC--1.3 一个完整的DDL过程(含代码)
哈哈原创 2016-10-17 11:24:37 · 926 阅读 · 0 评论 -
从零开始学JDBC--1.4 模仿上节DDL过程写出DML过程
参照上一节的DDL过程,照猫画虎写出来这个DML过程,其中包含增加新的一行,删除一行,修改一行 (代码太长啦!!放在最后面) 仔细观察代码,发现其实变化的地方只不过是那么几行,集中在sql语句那一行,所以这样写代码,累死程序员了!! 下一节内容,将对此作出功能抽取以简化代码的结构,防止重复工作的编写,简化程序员的工作public class Demo2 { private Strin原创 2016-10-17 16:13:20 · 276 阅读 · 0 评论 -
从零开始学JDBC--1.5 DML代码抽取,结构简化
根据上节DML的代码,我们将每次执行sql语句时重复的代码抽取出来 形成了一个静态代码块(注册驱动程序)和2个方法getConnection() – 用于获取连接, close(Connection conn,Statement stmt) – 用于关闭连接资源 将其封装在一个类中,JdbcUtil工具类应声而出,代码如下:/** * jdbc工具类 * * @autho原创 2016-10-17 16:30:48 · 334 阅读 · 0 评论 -
从零开始学JDBC--1.10 资源释放代码的优化
在资源释放的时候,我们之前只是将资源进行了关闭,但是该对象还是在内存中保持,并没有立即被收回,所以要告知虚拟机这个对象需要被收回,将这个对象的引用置为null 建议资源释放使用如下的写法: public static void closeAll(Connection conn, CallableStatement stmt, ResultSet rs) { try{原创 2016-10-27 23:33:53 · 845 阅读 · 0 评论 -
JDBC--获得ResultSet的记录个数、字段个数
1.获得ResultSet的记录个数 因为ResultSet没有方法可直接得到记录数,只有另想方法,可采用如下方法:Statement stmt = db.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);ResultSet rs = stmt.executeQuery(sq原创 2016-06-23 10:49:17 · 19331 阅读 · 2 评论