- 浏览: 78790 次
文章分类
最新评论
用数据库这么长时了,一些类用的类竟然还没搞明白哎,所以就把代码贴出来吧
执行sql语句的代码
至于PreparedStatement和statement的区别简单的话:
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程
2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理
刚才看到一篇不错的详细讲解,等会再单独转一篇吧
而sm.executeQuery(sql)和sm.exceute(sql)的区别为:
executeQuery(sql)方法在JDK1.6中的解释为:
executeQuery
ResultSet executeQuery(String sql)
throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
返回:
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
抛出:
SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容
execute(sql)方法在JDK1.6中的解释为:
execute
boolean execute(String sql)
throws SQLException执行给定的 SQL 语句,该语句可能返回多个结果。在某些(不常见)情形下,单个 SQL 语句可能返回多个结果集合和/或更新计数。这一点通常可以忽略,除非正在 (1) 执行已知可能返回多个结果的存储过程或者 (2) 动态执行未知 SQL 字符串。
execute 方法执行 SQL 语句并指示第一个结果的形式。然后,必须使用方法 getResultSet 或 getUpdateCount 来获取结果,使用 getMoreResults 来移动后续结果。
参数:
sql - 任何 SQL 语句
返回:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false
抛出:
SQLException - 如果发生数据库访问错误,或者在已关闭的 Statement 上调用此方法
另请参见:
getResultSet(), getUpdateCount(), getMoreResults()
关于接口 ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。可以生成可滚动和/或可更新的 ResultSet 对象。以下代码片段(其中 con 为有效的 Connection 对象)演示了如何生成可滚动且不受其他更新影响的可更新结果集。有关其他选项,请参见 ResultSet 字段。
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
public class DBUtils { Connection conn = null; // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "com.mysql.jdbc.Driver"; // 定义MySQL数据库的连接地址 public static final String DBURL = "jdbc:mysql://localhost:3306/t" ; //和本机mysql中名为t的数据库取得连接 // MySQL数据库的连接用户名 public static final String DBUSER = "root" ; // MySQL数据库的连接密码 public static final String DBPASS = "tian" ; public Connection getConnection() { try { //加载驱动 Class.forName(DBDRIVER); //取得连接 conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ; } catch (Exception e){ e.printStackTrace(); } return conn; } }
执行sql语句的代码
//向数据库中插入数据 Connection conn = new DBUtils().getConnection(); String sql = "INSERT into t (name,sex,age) values ('"+user+"',"+sex+","+age+")"; java.sql.Statement sm = conn.createStatement(); // ResultSet rs = sm.executeQuery(sql);// 查询结果存入rs sm.execute(sql);//执行
至于PreparedStatement和statement的区别简单的话:
1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程
2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理
刚才看到一篇不错的详细讲解,等会再单独转一篇吧
而sm.executeQuery(sql)和sm.exceute(sql)的区别为:
executeQuery(sql)方法在JDK1.6中的解释为:
executeQuery
ResultSet executeQuery(String sql)
throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
返回:
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
抛出:
SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容
execute(sql)方法在JDK1.6中的解释为:
execute
boolean execute(String sql)
throws SQLException执行给定的 SQL 语句,该语句可能返回多个结果。在某些(不常见)情形下,单个 SQL 语句可能返回多个结果集合和/或更新计数。这一点通常可以忽略,除非正在 (1) 执行已知可能返回多个结果的存储过程或者 (2) 动态执行未知 SQL 字符串。
execute 方法执行 SQL 语句并指示第一个结果的形式。然后,必须使用方法 getResultSet 或 getUpdateCount 来获取结果,使用 getMoreResults 来移动后续结果。
参数:
sql - 任何 SQL 语句
返回:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false
抛出:
SQLException - 如果发生数据库访问错误,或者在已关闭的 Statement 上调用此方法
另请参见:
getResultSet(), getUpdateCount(), getMoreResults()
关于接口 ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。可以生成可滚动和/或可更新的 ResultSet 对象。以下代码片段(其中 con 为有效的 Connection 对象)演示了如何生成可滚动且不受其他更新影响的可更新结果集。有关其他选项,请参见 ResultSet 字段。
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
发表评论
-
动态设置spring定时器的间隔时间
2015-05-21 16:42 10242.Quartz在Spring中动态设置cronTrigger ... -
使用eclipse调试maven项目
2014-02-13 10:21 796进行如下设置 1、项目-Debug As-Debug Co ... -
CentOS 32位安装mysql5.5
2013-11-04 23:08 2256在linux下安装mysql一直没成功过。网上的教程一个比 ... -
tomcat的j_security_check验证机制
2013-04-27 09:45 3960tomcat的j_security_check验证机制 是利 ... -
struts2 文件的上传和下载
2013-02-27 15:48 754struts2 文件的上传和下载 -
jsp到action用get方法相互传中文时乱码的解决方案
2012-11-09 13:12 722jsp->action: ... -
jquery插件实现ajax异步上传并预览文件
2012-11-02 11:42 1115jquery插件实现ajax异步上传并预览文件 -
(转)struts2中的jsp值传到后台action接收的三种方法
2012-09-16 14:38 1043struts2中的jsp值传到后台action接收 ... -
javascript向后台全传值后中文乱码解决方法
2012-01-21 15:43 1188javascript中向后台传值 中文是乱码解决方法, ... -
Struts2中的action利用Ajax向页面返回数据,及解决返回的中文乱码
2012-01-13 20:21 30511,在action中的代码 HttpServlet ... -
解决使用ajax时浏览器的缓存问题
2011-11-18 00:40 1369前几天在做东西的时候老是出现一人解决不了的问题,一直找不到原因 ... -
验证码的的生成
2011-11-10 22:00 1448[size=medium] 这个类是暑假在实验室的时候老师让我 ... -
深入 理解 Statement 和 PreparedStatement 【转】
2011-11-05 01:24 872一、使用Statement而不是PreparedStateme ... -
利用javascript忽略文本框的空格
2011-11-04 00:47 1400呵呵,这是前几天考核的时候临时到网上搜的,当时也没想到它有去空 ... -
利用java解压.zip的压缩文件
2011-11-04 00:37 1157这段代码是我从网上直接复制下来的,写的真的很不错,可以直接运 ... -
利用POI将excel表格中的内容导入到数据库中
2011-11-04 00:22 5796我实现的功能是将excel中的数据导入到Mysql数据库中, ... -
jsp实现文件的上传及javascript对上传文件的简单验证
2011-11-04 00:09 3807前两天做OJ的时候,我做的两个功能都涉及到了文件的上传这 ...
相关推荐
总结起来,不直接写SQL语句的Java MySQL数据库操作通常依赖于ORM框架或Spring提供的数据访问工具,这些工具通过映射机制和高级API,使得开发者可以更加专注于业务逻辑,而不是数据库细节。在实际项目中,`DataAccess...
Druid支持多种数据库,包括MySQL,通过设置配置,你可以轻松地将它集成到Java项目中,提升数据库操作的效率和稳定性。 在实际开发中,使用这些库的步骤通常如下: 1. 加载驱动:使用`Class.forName()`方法加载`...
本篇文章将深入探讨如何使用Java进行MySQL数据库的基本操作,包括查询数据(DQL)、事务处理、索引应用以及Java Database Connectivity(JDBC)的使用。 首先,Java操作MySQL数据库的核心工具是JDBC,它是Java标准...
在现代软件开发中,Java语言和MySQL数据库的结合使用是技术领域中一个非常普遍且重要的课题。Java作为一门广泛应用于商业、企业级应用开发的编程语言,其稳定性和跨平台能力使其在软件开发领域占据着举足轻重的地位...
Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统源码 Java基于MySQL数据库的学生管理系统...
本文将详细介绍如何使用 Java 连接 MySql 数据库,并实现基本的数据库操作。 一、配置数据库连接信息 要连接 MySql 数据库,首先需要配置数据库连接信息。这里使用的是 Eclipse3.1 作为开发环境,并使用 j2sdk...
Java连接MySQL数据库主要依赖于MySQL提供的驱动程序,这个驱动程序通常被打包成一个JAR(Java Archive)文件,名为`mysql-connector-java`。在给定的文件名称列表中,我们看到的是`mysql-connector-java-5.1.7.jar`...
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
### Java连接MySQL数据库知识点 #### 一、简介 在Java应用程序中连接MySQL数据库是一项常见的需求,无论是用于控制台程序还是J2EE网页开发。本文将详细介绍如何使用Java连接MySQL数据库,并进行基本的数据查询与...
Java链接mysql数据库代码,从链接到关闭,注释详细,一目了然
首先,Java连接MySQL数据库通常依赖于JDBC(Java Database Connectivity),这是一个Java API,允许Java程序与各种数据库进行交互。在给定的文件中,`mysql-connector.jar`是MySQL官方提供的JDBC驱动程序,它包含了...
Java连接MySQL数据库通常涉及到几个关键知识点,包括JDBC(Java Database Connectivity)、数据库驱动、数据库连接池以及具体的数据库操作。在"java连接mysql数据库连接池demo"这个项目中,我们可以深入探讨以下几个...
在Java编程中,连接MySQL数据库是一项基础且重要的任务,它使得应用程序能够与数据库进行交互,进行数据的存储、检索和更新。本压缩包文件“Java连接Mysql数据库代码.zip”包含了一个示例,用于帮助开发者了解如何在...
JAVA连接MySQL数据库的一篇技术文献
利用java封装的操作MySql数据库的框架类JdbcUtils.java,包括增删改查四种操作,参见博文:http://blog.csdn.net/yanzi1225627/article/details/26950615
java语言对MySQL数据库内容进行插入、查找、删除等一系列操作代码及运行结果
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,...基于JAVA+Mysql数据库的学生信息管理系统源码+项目说明(课程
Java连接MySQL数据库是Java开发中的常见任务,JDBC(Java Database Connectivity)是Java与数据库交互的标准接口。本Demo将向你展示如何使用Java通过JDBC连接到MySQL数据库,执行SQL语句并处理结果。 首先,我们...