JDBC连接数据库代码(三) -- Statement语句 以及ResultSet结果集


1.简介:
 ①Statement语句是SQL语句的描述, 使用它可以操作各种SQL语句,包括DDT(数据定义语句,如创建表),DML(  CRUD),和DCL等。

 ②而遍历时还需使用ResultSet:
   1.用来获得SQL语句的查询结果
   2.结果集包含了SQL语句的查询结果
   3.调用结果集的executeQuery方法返回结果集对
   4.ResultSet常用方
       -- next();        
     返回Boolean类型数据,判断结果集中是否有数
      -- getXXX()   
     获得结果集中的数据
      -- 1.可以使用列名
      -- 2.可以使用列索引

2.使用Statement创建表
static void createTable(){
		Connection conn = DBUtil.open();
		String sql = "create table UserTb(id int primary key auto_increment,name varchar(20));";
		try {
			Statement stmt = conn.createStatement();
			stmt.execute(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
	}

3.使用Statement添加表的内容
static void insert(){
		Connection conn = DBUtil.open();
		String sql = "insert into UserTb(name)values('Tom')";
		try {
			Statement stmt = conn.createStatement();
			stmt.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
		
	}

4.使用Statement修改表中已有内容

static void insert(){
		Connection conn = DBUtil.open();
		String sql = "insert into UserTb(name)values('Tom')";
		try {
			Statement stmt = conn.createStatement();
			stmt.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
		
	}

5.使用Statement语句删除表中内容

static void delete(){
		Connection conn = DBUtil.open();
		String sql = "delete from UserTb where id = 1";
		try {
			Statement stmt = conn.createStatement();
			stmt.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
	}

6.使用Statement语句遍历表中内容

static void query(){
		Connection conn = DBUtil.open();
		String sql = "select id,name from UserTb";
		try {
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(sql);
			while(rs.next()){
				int id = rs.getInt(1);
				String name = rs.getString(2);
				System.out.println(id +":"+name+" ");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
	}


7.如需遍历时输出list:新建User类,如下

   以便list使用泛型   只可接受User对象

package com.nenu.www;

public class User {
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return id+";"+name;
	}

}

方法:

static List query2(){
		Connection conn = DBUtil.open();
		String sql = "select id,name from UserTb";
		try {
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(sql); 
			List list = new ArrayList();
			while(rs.next()){
				int id = rs.getInt(1);
				String name = rs.getString(2);
				//System.out.println(id +":"+name+" ");
				User u = new User();
				u.setId(id);
				u.setName(name);
				list.add(u);
			}
			System.out.println(list);
			return list;
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(conn);
		}
		return null; 
	}

上面的方法只需在main方法中进行调用即可

public class JdbcConn1 {
		public static void main(String[] args) {
	/*		delete();*/
	/*		update();*/
	/*		insert();*/
	/*		createTable();*/
	/*		query();*/
	/*		query()2;*/
			
		}
		//上面方法可以写在此处,连接数据库可以看之前的博客
}


 
  


你可能感兴趣的:(数据,MySQ,jdb,ResultSe,statemen,jdbc,MySQL,数据库连接)