创建JDBC应用程序涉及的六个步骤

六个步骤:

1.导入包:需要包含数据库编程所需的JDBC类的包。

2.注册JDBC驱动程序:要求你初始化驱动程序,以便你可以打开与数据库的通信通道。

3.打开链接:需要使用DriverManager.getConnection()方法创建一个Connection对象,该对象表示与数据库的物理连接。

4.执行查询:需要使用类型为Statement的对象来构建和提交SQL语句到数据库。

5.从结果集中提取数据:需要使用相应的ResultSet.getXXX()方法从结果中检索数据。

6.释放资源:需要明确地关闭所有数据库资源,而不依赖与jvm的垃圾收集。

JDBC连接步骤:

建立JDBC连接所涉及的编程需要简单的四个步骤:

1.导入JDBC包:将java语言的import语句添加到java代码中导入所需的类。

2.注册JDBC驱动程序:此步骤将使JVM所需的驱动程序实现加载到内存中,以便它可以满足您的JDBC请求。

3.数据库URL配置:这是为了创建一个格式正确的地址,指向要连接到的数据库。

4.创建连接对象:最后,调用DriverManager对象的getConnection()方法来建立实际的数据库连接。

Class.forName();

注册驱动程序最常见的方法就是使用java的class.forName()方法,将驱动程序的类加载到内存中,并将其自动注册

加入代码为:

1.首先创建一个stu类,其中包括表中的三个属性

public class stu {
	//id | name | sid  |
	private int id;
	private String name;
	private int sid;
	public stu() {
		super();
	}
	public stu(int id, String name, int sid) {
		super();
		this.id = id;
		this.name = name;
		this.sid = sid;
	}
	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;
	}
	public int getSid() {
		return sid;
	}
	public void setSid(int sid) {
		this.sid = sid;
	}
	@Override
	public String toString() {
		return "stu [id=" + id + ", name=" + name + ", sid=" + sid + "]";
	}
	
}

2.创建一个stuUtil工具类

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import com.mysql.jdbc.Connection;

public class stuUtil {//创建增删改查
	private static Connection connection=null;
	//该对象表示与数据库之间的物理连接
	private static PreparedStatement ps=null;//创建一个对象
	
	//创建一个方法专门来获取链接
	public static Connection getConnection() {
		//先加载驱动
		try {
			Class.forName("org.gjt.mm.mysql.Driver");
			//再获取链接
			connection=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "123456");
		
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();//打印报错信息
		}
		return connection;
	}
	//增
	public static void Zeng(stu stu) {
		getConnection();//调用方法获取链接
		try {
			String string="insert student values(?,?,?)";
			ps=connection.prepareStatement(string);
			ps.setInt(1,stu.getId());
			ps.setString(2, stu.getName());
			ps.setInt(3, stu.getSid());
			int executeUpdate = ps.executeUpdate();
			System.out.println(executeUpdate);
			} catch (Exception e) {
			// TODO: handle exception
		}finally {
			close();
		}
	}	
	//删
	public static void shan(int tt) {
		getConnection();
		try {
			String string="delete from student where id="+tt;
			ps=connection.prepareStatement(string);
			int executeUpdate = ps.executeUpdate();
			System.out.println(executeUpdate);
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			close();
		}
	}
	//改
	public static void Update(int a,int b) {//将a改成b
		getConnection();
		try {
			String string="update student set id="+b+" where sid="+a;
			ps= connection.prepareStatement(string);
			int executeUpdate = ps.executeUpdate();
			System.out.println(executeUpdate);
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			close();
		}
	}
	//查
	public static ArrayList<stu> read(){
		getConnection();
		ArrayList<stu> arrayList = new ArrayList<stu>();
		try {
			String string="select * from student";
			ps=connection.prepareStatement(string);
			//查询
			ResultSet rset = ps.executeQuery();
			while(rset.next()) {
				stu ss=new stu(rset.getInt("id"),rset.getString("name"),rset.getInt("sid"));
				arrayList.add(ss);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			close();
		}
		return arrayList;
	}
	//关闭
	public static void close() {
		if(connection!=null) {
			try {
				connection.close();
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}
}

3.测试类

import java.util.ArrayList;

public class JDBCdemoTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//stuUtil.Update(3,5);//改
		//stuUtil.Zeng(new stu(4, "hua", 8));//增
		//stuUtil.shan(4);
		stuUtil.read();
		
		
		ArrayList<stu> stus=stuUtil.read();
		System.out.println(stus);
		
	}

}

若调用增、删、改、查的其中一个方法,只将代码前端的注释//删掉即可。

猜你喜欢

转载自blog.csdn.net/Feng0811xin/article/details/84328959