jdbc中EXECUTE方法与executeQuery,executeUpdate方法的运用

该博客介绍了Java中JDBC连接MySQL数据库时,如何使用executeQuery、executeUpdate和EXECUTE方法。通过示例代码展示了如何插入数据、创建表、执行DML和DDL语句,并解释了不同方法在执行SQL语句时的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package JDBC;

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

public class ConnToMySql {
	private String driver;
	private String url;
	private String user;
	private String password;
	
	public void initParam(String paramFile) throws Exception{
		Properties props = new Properties();
		props.load(new FileInputStream(paramFile));
		driver = props.getProperty("driver");
		url = props.getProperty("url");
		user = props.getProperty("user");
		password = props.getProperty("password");
	}
	
	public int insertData(String sql) throws Exception{
		Class.forName(driver);
		try(
			Connection conn = DriverManager.getConnection(url, user, password);
			Statement stmt = conn.createStatement()
		){
		    return stmt.executeUpdate(sql);
		}
		
	}
	// 测试 execute方法
	public void testExecute(String sql) throws Exception{
		Class.forName(driver);
		try(
			Connection conn = DriverManager.getConnection(url, user, password);
			Statement stmt = conn.createStatement();
				){
			boolean isQuery = stmt.execute(sql);
			if( isQuery) 
			{
				ResultSet rs = stmt.getResultSet();
				ResultSetMetaData rsmd = rs.getMetaData();
				int columnCount = rsmd.getColumnCount();
				while (rs.next()){
					for(int i = 0 ; i<columnCount; i++){
						System.out.print(rs.getString(i+1)+"\t");
					}
					System.out.println();
				}
			}else
			{
				System.out.println("该语句影响了"+ stmt.getUpdateCount());
			}
		}
	}
	public static void main(String[] args) throws Exception{
			ConnToMySql ctms = new ConnToMySql();
			// DDL使用 executeUpdate时返回0. DML返回执行的个数。
			ctms.initParam("E:/java/ConnMySql/configue/mysql.ini");
			int result = ctms.insertData("insert into teacher values(5,'pddp');");
			System.out.print("total effect " + result + "记录");
			ctms.testExecute("create table executeTable(col_a varchar(20) primary key,col_b text )");
			ctms.testExecute("insert into executeTable values('pxb','I am a dangerous')");
			ctms.testExecute("select * from executeTable");
				
			}
	
			
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值