⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connectdb.java

📁 一些java高级源代码
💻 JAVA
字号:
package adv.jdbc;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;



public class ConnectDB {
	// 建立与数据库的连接
	public Connection connDB() {
		Connection con = null;
		try {
			// 生成一个驱动类的对象这是生成对象的另种方式
			// 也可以用new 的方式来生成
			// Class.forName("com.mysql.jdbc.Driver");
			
			// 连接字符串!每一种DB的连接字符串是不一样的!
			con = DriverManager.getConnection(
					"jdbc:mysql://172.16.0.5:3306/qai2", "root", "root");
		}
		catch (Exception e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
		return con;
	}

	// 执行查询的方法 该方法需要一个查询的语句
	public ResultSet selectDB(String sql) {
		// 调用上面方法生成的连接
		Connection con = this.connDB();
		// 生成一个语句的对象
		Statement st = null;
		// 生成一个结果集的对象,该对象用来存储数据库中的记录
		ResultSet rs = null;
		try {
			// 建立真正的语句对象
			st = con.createStatement();
			// 执行查询语句,得到结果集!
			rs = st.executeQuery(sql);

		}
		catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}

		return rs;
	}

	// 用于显示结果
	public void showResultSet(ResultSet rs) {
		if (rs != null) {
			try {
				// 生成表字段,也就是表头
				ResultSetMetaData rsm = rs.getMetaData();
				// 表头记录从1开始,最大值到getColumnCount()方法的值,注意一
				// 定要等于,要不会少一列
				for (int i = 1; i <= rsm.getColumnCount(); i++) {
					System.out.print(rsm.getColumnName(i) + "\t\t");
				}
				System.out.println();
				// 显示表中的记录!
				while (rs.next()) {
					for (int i = 1; i <= rsm.getColumnCount(); i++) {
						System.out.print(rs.getString(i) + "\t");
					}
					System.out.println();
				}
			}
			catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
		}
	}

public void closeDB(Connection con,Statement st,ResultSet rs){
		try {
			if(rs!=null){			
				rs.close();
			}		
			if(st!=null){
				st.close();
			}
			if(con!=null){
			con.close();
			}
		}catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
		
	}	/**
		 * @param args
		 */
	//对记录进行增删改
	
public void modifyDB(String sql){
	//连接数据库
	Connection con=this.connDB();
	if(con!=null){
		try {
			Statement st=con.createStatement();
			int i=st.executeUpdate(sql);
			st.close();
		}
		catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}
}
	public static void main(String[] args) {
		// 输入SQL语言用于查询!
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String sql = null;
		System.out.println("请输入查询语句");
		try {
			sql = br.readLine();
		}
		catch (IOException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
		// 生成对象,调用查询方法,查询方法中调用了连接的方法!
		ConnectDB cdb = new ConnectDB();
		ResultSet rs = cdb.selectDB(sql);
		// 调用显示结果的方法!
		cdb.showResultSet(rs);
		try {
			rs.close();
		}
		catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
//		String name="李四";
//		String sex="女";
//		int age=23;
//		String sql1="insert into student value (\""+name+"\","+"\""+sex+"\","+age+")";
//		//System.out.println(sql1);
//		cdb.modifyDB(sql1);
		String delete="delete from student where name="+"\"张三\"";
		System.out.println(delete);
		cdb.modifyDB(delete);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -