`
Luob.
  • 浏览: 1590350 次
  • 来自: 上海
社区版块
存档分类
最新评论

JDBC 执行sql语句

    博客分类:
  • JDBC
阅读更多
package com.enhance.jdbc;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Properties;

/**
 * SQL语句的分类
 * select 语句
 * DML:(Data Manipulation Language)数据操作语言:检索 select 和 更新insert update delete
 * DDL:(Data Definition Language)数据定义语言: create alter drop truncate
 * DCL:(Data Control Language)数据控制语言:grant revoke
 * 事物控制语句:commit rollback savepoint 
 * 
 * 
 * executeQuery 执行  select语句  返回 resultSet
 * executeUpdate 执行 DML: update delete insert 返回受影响的行数,DDL: create drop alter 返回0 
 * execute 执行所有的sql语句  返回 boolean ,true:表示返回 resultset结果集, false:表示返回受影响的行数
 * @author Bin
 *
 */
public class ExecuteDDL {

	private String driver;
	private String url;
	private String user;
	private String pass;
	private Connection conn;
	private Statement stmt;
	public void initParam(String paramFile) throws Exception{
		Properties prop=new Properties();
		prop.load(new FileInputStream(paramFile));
		driver=prop.getProperty("driver");
		url=prop.getProperty("url");
		user=prop.getProperty("user");
		pass=prop.getProperty("pass");
	}
	
	public void createTable(String sql) throws Exception{
		
		try {
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,pass);
			stmt=conn.createStatement();
			stmt.executeUpdate(sql);
		} finally{
			if(stmt!=null)
				stmt.close();
			if(conn!=null)
				conn.close();
		}
		
	}
	/**
	 * 采用 executeUpdate 
	 * 		执行 DML 数据操作语言 中的 更新 语句  即  insert update delete   返回受影响的行数
	 * 		执行 DDL 数据定义语言  create alter drop truncate 返回  "0" 
	 * @param sql
	 * @return
	 * @throws Exception
	 */
	public int executeDmlAndDdl(String sql)throws Exception{
		try {
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,pass);
			stmt=conn.createStatement();
			return stmt.executeUpdate(sql);
		} finally{
			if(stmt!=null)
				stmt.close();
			if(conn!=null)
				conn.close();
		}
	}
	
	public static void main(String[] args) throws Exception {
		ExecuteDDL ed=new ExecuteDDL();
		//System.out.println(System.getProperty("user.dir"));

		ed.initParam("src/mysql.ini");
		/*ed.createTable("create table jdbc_test"
				+ "( jdbc_id int auto_increment primary key,"
				+ "jdbc_name varchar(255),"
				+ "jdbc_desc text);");*/
		
		//System.out.println(ed.executeDmlAndDdl("select host,user,password from user"));
		
		ed.executeDmlAndDdl("create table img_table"
				+ "(img_id int auto_increment primary key,"
				+ "img_name varchar(255),"
				+ "img_data mediumblob);");
		
		System.out.println("---------建表成功-------");

	}

}

分享到:
评论

相关推荐

    JDBC是执行SQL语句的Java API

    JDBC允许Java开发者通过编写Java代码来执行SQL语句,实现对数据库的操作,如查询、插入、更新和删除数据。 JDBC的主要优势在于其跨平台性和数据库无关性。与ODBC(Open Database Connectivity)不同,ODBC是一个...

    连接jdbc时sql语句统一设置参数

    在Java编程中,连接数据库并执行SQL语句是常见的任务,而`JDBC`(Java Database Connectivity)就是实现这一目标的接口和API。本篇将深入讲解如何在使用JDBC时,通过统一的方式设置SQL语句中的参数,提高代码的...

    sqljdbc和sqljdbc4 sqlserver最新驱动

    使用SQLJDBC或SQLJDBC4驱动,Java开发者可以使用JDBC API来创建数据库连接,执行SQL语句,处理结果集等。基本步骤如下: - 加载驱动:`Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");` - 建立...

    如何获得PreparedStatement最终执行的sql语句

    在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...

    Jmeter中JDBC request多条SQL语句使用.docx

    通过对JMeter中JDBC Request不同类型的SQL语句执行方式的介绍,我们可以看到,根据不同的测试需求选择合适的执行方式至关重要。Select Statement适用于简单的查询操作;Update Statement适用于单一的更新操作;...

    springboot log4jdbc 打印完整sql

    当我们执行这个方法时,Log4jdbc 将打印出完整的 SQL 语句,包括参数 replacement: ``` DEBUG [main] JDBC - { conn:100, pstmt:102, sql:SELECT * FROM users WHERE name = ?, params:['John Doe'] } ``` 从上面的...

    动态拼接sql语句工具类,拼接where后面语句

    动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...

    JDBC执行SQL操作.docx

    2. PreparedStatement:用于执行预编译的SQL语句,支持参数绑定,提高性能并防止SQL注入。例如: ```java String sql = "select * from tb_record where sec=?"; PreparedStatement pstmt = con.prepareStatement...

    java批量执行SQL

    在Java开发过程中,经常需要与数据库进行交互,尤其是在处理大量数据时,如何高效地执行SQL语句变得尤为重要。本文将详细介绍如何利用Java进行批量SQL执行,包括其背景、实现原理、代码示例及优化策略等。 #### 一...

    执行sql语句,并将结果通过ArrayList返回。字段名统一大写 JDBC 连接数据库

    JDBC是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了诸如查询执行和结果处理等功能。 ##### 1. 获取数据库连接 在提供的代码中,...

    JDBC 连接SQL2005

    JDBC提供了一种标准化的方式来创建、执行SQL语句,并处理结果集。对于SQL Server 2005,我们需要使用微软提供的JDBC驱动——JDBC Driver for SQL Server(也称为MSSQL JDBC或Microsoft JDBC Driver)。 要连接到SQL...

    log4jdbc监控sql及执行时间

    1、在应用中jdbc url最前面添加jdbc:log4;比如oracle的url就变成了jdbc:log4jdbc:oracle:thin:@...3、运行系统测试,到对应日志文件中查看SQL相关信息; zip文件里已经包括所有依赖包,除了数据库驱动。 祝大家顺利。

    JDBC的动态SQL语句在浏览器_服务器模式中的应用.pdf

    "JDBC的动态SQL语句在浏览器_服务器模式中的应用.pdf" JDBC(Java Database Connectivity,Java数据库连接)是一种Java语言和数据库互联的接口,允许Java应用程序访问各种数据库管理系统。JDBC提供了一般的SQL...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    另一种方法是使用原生SQL查询,这样可以直接控制SQL语句的生成,包括使用LIMIT和OFFSET关键字(对于MySQL等数据库)或ROW_NUMBER()函数(对于SQL Server)来实现分页。这同样可以绕过Hibernate的默认只进结果集行为...

    JDBC+注册驱动+获取连接+定义sql语句+获取执行sql对象+执行sql

    本教程将详细解释JDBC中的关键步骤,包括注册驱动、获取连接、定义SQL语句、获取执行SQL的对象以及执行SQL。 **一、注册驱动** 在Java中,我们通常使用`Class.forName()`方法来注册数据库驱动。例如,如果我们要...

    JDBC for sql 2012

    `java.sql.Statement`或其子接口`PreparedStatement`用于执行SQL语句。`Statement`适用于简单的非参数化查询,而`PreparedStatement`适用于参数化查询,能有效防止SQL注入攻击。 5. **处理结果集** 执行查询后,...

    P6SPY JDBC拦截打印sql语句 非常好的调试工具

    P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...

    JDBC_SQLServer_6.0驱动

    JDBC(Java Database Connectivity)是Java语言中用于与各种数据库进行交互的一套标准API,它允许Java应用程序通过编写Java代码来执行SQL语句,从而实现对数据库的操作。 在Java开发中,JDBC驱动是必不可少的部分,...

    sqljdbc和sqljdbc4

    SQLJDBC驱动程序允许Java开发者使用标准的JDBC API来执行SQL语句、处理结果集、事务管理和数据库连接管理。这些驱动程序在Java应用服务器、Web应用,如JSP(JavaServer Pages)中特别有用,因为它们提供了跨平台的...

    jdbc连接sqlserver数据库连接代码

    本文详细介绍了如何使用 JDBC 连接 SQL Server 数据库的方法,包括加载 JDBC 驱动、建立数据库连接、执行 SQL 语句(创建表、插入数据)以及查询数据。通过以上步骤,可以实现 Java 应用程序与 SQL Server 数据库的...

Global site tag (gtag.js) - Google Analytics