java 连接数据库 statement 类的使用 2011 . 9 8


//    使用JDBC连接数据看查询主要步骤如下:
//
//    1. 加载JDBC驱动程序;
//
//    2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager 类的方法 getConnection()来创建一个数据库连接类的实例对象;
//
//    3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作.
//
//    4. 返回的结果用 ResultSet 类来处理.


这里是一个连接mysql的数据库的示例:


import java.sql.*;

public class DBHelper {
	
	Statement sql_statement;
	Connection conn;
	
	public Connection getConnection() {
		try{
			//第一步:加载MySQL的JDBC的驱动
			Class.forName("com.mysql.jdbc.Driver");
			//取得连接的url,能访问MySQL数据库的用户名,密码;数据库名:trade
			String url = "jdbc:mysql://localhost:3306/trade"; 
			String username = "root";
			String password = "fenghuoedu";
			//第二步:创建与MySQL数据库的连接类的实例
			Connection conn = DriverManager.getConnection(url, username, password);
			return conn;
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
	
	public boolean insert(String name,String password){
		try {
			sql_statement.executeUpdate("insert users (name,password) values('" + name 
					+ "', '" + password + "');");
//			sql_statement.executeUpdate("INSERT INTO users VALUES('nihao','21');");
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}
	public void stop() throws SQLException{
		//关闭连接和声明
		sql_statement.close();
		conn.close();
	}
	public DBHelper(){
		try {
			//第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
			conn = getConnection();
			sql_statement = conn.createStatement();
			//第四步:执行查询,用ResultSet类的对象,返回查询的结果			
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		new DBHelper();
	}

	public boolean query(String name,String password) throws Exception {
		String query = "select * from users where name = '" + name + "';";
		ResultSet result = sql_statement.executeQuery(query);
		while (result.next()) {
			String mPassword = result.getString("password");
			if(mPassword.equals(password)){
				return true;
			}
			//取得数据库中的数据
			System.out.println(name + "  " + password);
		}
		return false;
	}

	//注册时,用户名是否已被使用
	public boolean nameUsed(String name) throws SQLException {
		String query = "select * from users where name = '" + name + "';";
		ResultSet result = sql_statement.executeQuery(query);
		if(result.next()){  //移动时,没有行数了
			return true;
		}
		return false;
	}
}





这里说一下statement的几个方法的使用:

1. 对数据库做查询时,直接使用 stmt.executeQuery(sql),返回结果为一个resultSet结果集。然后对结果集操作即可。

2. 对数据库的曾删改操作时,使用stmt.executeUpdate(sql  执行给定 SQL 语句,该语句可能为 INSERTUPDATEDELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。

3. stmt.execute(sql)返回值是boolean,如果第一个结果为 ResultSet 对象,则返回 true ;如果其为更新计数或者不存在任何结果,则返回 false(即查询操作返回true,其他操作返回false),这个方法看起来最简单,但是用起来比较麻烦。

执行查询操作时应该这样:

	if(sql_statement.execute(query)){
			ResultSet resultSet = sql_statement.getResultSet();
		}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 连接数据库可以使用 JDBC API 实现,以下是一个简单的 Java 示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Database { private String host; private String user; private String password; private String database; private Connection connection; public Database(String host, String user, String password, String database) { this.host = host; this.user = user; this.password = password; this.database = database; this.connection = null; } public void connect() throws SQLException { String url = "jdbc:mysql://" + host + "/" + database + "?useSSL=false"; this.connection = DriverManager.getConnection(url, user, password); System.out.println("Database connected!"); } public void close() throws SQLException { if (this.connection != null) { this.connection.close(); System.out.println("Database connection closed."); } } public ResultSet executeQuery(String query) throws SQLException { Statement statement = this.connection.createStatement(); ResultSet result = statement.executeQuery(query); return result; } } ``` 上述代码,我们定义了一个名为 `Database` 的,该需要传入连接数据库所需的参数,包括 `host`、`user`、`password`、`database`。在的构造函数,我们将这些参数保存为的属性,并将 `connection` 属性设置为 `null`,表示当前还没有连接到数据库。 在 `connect` 方法,我们使用 `DriverManager.getConnection` 方法建立与数据库的连接,并将连接对象保存到 `connection` 属性。在 `close` 方法,我们关闭数据库连接。 `executeQuery` 方法用于执行 SQL 查询语句,并返回查询结果集。在该方法,我们使用 `Statement` 对象执行查询,并将结果集保存到 `result` 变量,最后返回查询结果集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值