`
xm.more
  • 浏览: 1636 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JDBC 的三个W

阅读更多

代码重构DBUtils工具类
  1)连接管理起来(static方法)
  2)资源关闭

how:
1.注册驱动 三种方式(a. DriverManager.registerDriver(new com.mysql.jdbc.Driver())
           b. Class.ForName("com.mysql.jdbc.Driver") 常用这一种
           c. java -Djdbc.drivers=com.mysql.jdbc.Driver.FirstJDBC)
   三种方式的区别
          Class.ForName("..");是通过字节码文件 .class (在硬盘)在JVM上创建类对象
          DriverManager.registerDriver(new com.mysql.jdbc.Driver())的对象是 new 出来的
2.获取数据库连接
   Connection conn = DriverManager.getConnection(url, username, password);
3.创建Statement对象
   Statement stmt = conn.createStatement();
   预编译语句  PreparedStatement pstmt = conn.createPreparedStatement(); 优点 提高效率?sql语句可以重复利用?结构相同 可以批量地处理数据,使用 ?作占位符,在执行sql语句之前必须输入参数
       pstmt.setString(1,"..");
       .....
       pstmt.executeUpdate();
       pstmt.clearParameter();
   CallableStatement 
       调用存储过程(部署在数据库)真正的批处理
       procedure
         begin
            ....
         end
         
       缺点: 可移植性比较差
4.执行(发送)sql语句
   select : ResultSet rs = stmt.executeQuerry(sql);
        ResultSet rs = pstmt.execute();
   update/insert into/ delete : 返回一个整数 (smst.executeUpdate(sql))
5.处理结果集
   select :  while(rs.next()){....}
6.关闭JDBC资源
   逆序关闭 rs stmt/pstmt conn        

 

处理结果集

select :  ResultSet rs = stmt.executeQuerry(sql)  一个Statement对象在某一时刻只能有一个ResultSet对象,意味着必须处理上一次查询结果后才能做下一个查询
update/insert into/ delete : int n = stmt.executeUpdate(sql) 如果执行的是DDL,则返回0


ResultSet接口

重载的两个方法:
1)String getString(int columnIndex)
2)String getString(String columnIndex)


在不知道sql语句类型的情况下   boolean execute(String sql) 返回布尔值
如果第一结果是ResultSet对象,返回true
如果是更新计数或不存在任何结果,返回false


CallableStatement
作用:执行存储过程  (效率高,可移植性差)
设置OUT和IN参数: in:参数从Java程序传到数据库的存储过程 
         out:参数从数据库传到JAVA程序的存储过程
         

存储过程

不同数据库管理系统有各自定义的存储过程的方式

--mysql
delimiter //

drop procedure procedure_name;//  --删除已有的存储过程

create procedure procedure_name(in p_字段, ...)
begin
insert into table_name(字段, ...)values(p_字段, ...) 
commit;
select count(*) into total from table_name where 字段 = p_字段 and ... and ...
end;//

delimiter;


java程序调用存储过程

java数据类型和DBMS数据类型相互对应


3NF

    

List队列和泛型的结合使用
 List<类型> list = new ArrayList<类型>();
 把数据添加到List队列中  list.add(数组名);
 
 
构造器(无参和有参)的作用?
  初始化

分享到:
评论

相关推荐

    安装JDBC

    #### 三、JDBC安装步骤 ##### 1. 获取JDBC驱动 - **下载驱动**:根据目标数据库的不同,需要下载相应的JDBC驱动。例如,对于Microsoft SQL Server 2000,需要下载Microsoft提供的JDBC驱动包。 - **添加到项目**:将...

    spring-jdbc.rar_goldenw65_map25w_sellwof_spring-jdbc

    三、Spring JDBC的使用流程 1. **配置JDBC数据源**:通常使用`BasicDataSource`或应用服务器提供的数据源。 2. **创建JdbcTemplate实例**:通过数据源创建`JdbcTemplate`对象。 3. **编写SQL语句**:可以是静态SQL...

    oraclejdbc.zip

    在开发过程中,了解JDBC连接池的概念也很重要,例如使用C3P0、DBCP或HikariCP等第三方库,它们能有效地管理数据库连接,提高应用性能并降低资源消耗。 总之,Oracle JDBC驱动是Java开发人员与Oracle数据库交互的...

    JSP中使用JDBC访问SQL Server 2008数据库示例

    为了连接SQL Server,我们需要下载对应的JDBC驱动,对于SQL Server 2008,通常会提供msbase.jar、mssqlserver.jar和msutil.jar这三个文件。将这些文件放入JSP项目中的WEB-INF/lib目录以及Tomcat服务器的lib目录下,...

    ## @[Android studio通过jdbc连接mysql基本步骤 以及 遇到的坑“The last packet sent successfully to the server was 0 m

    小白第一次发博客哈哈,记录一下这三个晚上来我的悲惨经历以及我成功解决bug后的极度开心。 第一个晚上,有点小烦躁,但感觉还可以,有点小bug明天解决吧。 第二个晚上,不急,就一个小bug,20分钟调好吧。。。。。...

    boot-crm.rar_-baijiahao_boot图书管理_pairz6w_ssm 系统_图书管理系统

    SSM框架是Java Web开发中常用的一种整合框架,它是由Spring、Spring MVC和MyBatis三个开源框架组合而成。这个“boot-crm.rar”压缩包文件中的内容显然是一款图书管理系统,其核心是利用SSM框架进行开发。 1. **...

    花2w学java的第七天作业答案

    "花2w学java的第七天作业答案"这个主题表明,这是某项价值不菲的Java培训课程的一部分,学员们在完成第七天的作业后,可能会寻找这些答案来检查自己的理解或解决问题。现在,我们将深入探讨Java编程的一些核心知识点...

    BBS论坛系统的研究与分析

    总之,BBS论坛系统的开发涉及Web服务器、数据库操作以及资源管理等多个方面,利用JSP、B/W/S模式、JDBC和连接池等技术,可以构建高效、稳定、易于维护的论坛平台。在实际项目中,还需要考虑安全性、用户体验、性能...

    weblogic部署详解

    1. **创建数据库连接池**:在“Services Configurations”下的“JDBC”选择“Connection Pools”,点击“Create”创建一个新的连接池。根据实际使用的数据库类型和驱动选择相应的配置,填写连接池的名称、连接信息等...

    历年机试考题

    该题目要求利用JSP、Servlet和JDBC,结合SQLServer 2000的Northwind数据库,设计一个基于员工ID查询定单的系统。功能包括: 1. 设计一个包含输入文本框和提交按钮的查询界面(index.jsp),用于输入员工ID。 2. 提交...

    java连接Oracle

    #### 三、连接Oracle数据库 在Java中,通常使用`DriverManager`类来建立与数据库的连接。以下是一个简单的示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql....

    SpringBoot学习的相关工程并辅以博文讲解。主要包括入门的Hello W-springBoot-study.zip

    它集成了大量常用的第三方库配置,如数据源、JPA、定时任务、WebSocket等,使得开发者可以快速构建稳定、生产级别的应用。 在"SpringBoot学习的相关工程并辅以博文讲解"中,我们主要会接触到以下几个关键知识点: ...

    利用jmeter对mysql数据库进行压力测试.pdf

    例如,我们可以创建一个名为“JDBC USER”的线程组,并配置合适的参数。 ##### 3.2 用户自定义变量 在“线程组”下创建“User Defined Variables”。通过自定义变量可以生成动态 SQL 语句,避免数据库对相同 SQL ...

    W21COMP1008S3W4

    【标题】"W21COMP1008S3W4"可能是一个课程代码或项目代号,暗示了这与计算机科学或者信息技术相关的学习单元,可能是某个学期的第三周到第四周的内容。不过,由于信息有限,我们无法进一步确定其具体含义。 【描述...

    Spring下配置几种常用连接池

    Apache DBCP2是Apache Commons的一个子项目,提供了基于Jakarta POI的数据库连接池。在Spring中配置DBCP2: ```xml &lt;groupId&gt;org.apache.commons &lt;artifactId&gt;commons-dbcp2 版本号 ...

    myswing1.zip

    【描述】提到“内含实验七、八、九部分实现代码,实操可运行”,这意味着压缩包内包含了三个不同阶段的编程实验的源代码,这些实验可能涉及了Swing的不同组件和功能,比如窗口创建、菜单栏设计、按钮、文本框等元素...

    Aakash145-W21G6_FeedTheBelly:一个免费的食品服务应用程序

    【标题】"Aakash145-W21G6_FeedTheBelly"是一个免费的食品服务应用程序,旨在为用户提供方便、快捷的餐饮服务。它可能是由开发者Aakash145设计并发布的,W21G6可能代表项目的一个特定版本或迭代。这个应用程序的核心...

    tableTobean.rar_CZAF_K7W_TabletoBean_hibernate反向生成bean

    1. 私有属性(Private Fields):每个数据库表字段对应一个私有属性,类型与数据库中的数据类型匹配。 2. Getter和Setter方法:用于访问和修改属性值。 3. 构造函数:默认构造函数和带参数的构造函数,便于实例化...

    ww3.zip_.comWW3_3.ww com_Ww√_www.838ww_www.ww3

    4. **数据库连接**:Java通过JDBC(Java Database Connectivity)与各种数据库进行交互,处理数据存储和检索。 5. **RESTful API**:如果项目涉及前后端分离,可能会用到REST(Representational State Transfer)...

Global site tag (gtag.js) - Google Analytics