sample31_1.java

来自「Java SE 6.0前27-31章示的示例代码,简单易学」· Java 代码 · 共 103 行

JAVA
103
字号
package wyf.jc;
import java.sql.*;
import java.util.*;
import java.io.*;
public class Sample31_1
{
	public static void main(String args[])
	{
		//创建student表的sql语句
		String sql="create table student(sid char(5),"+
					"sname varchar(20),"+
					"sage  int,"+
					"sclass char(5))";
		//声明Connection引用
		Connection con=null;
		//声明Statement引用
		Statement st;
		try
		{
			//为程序加载Derby嵌入式数据库驱动
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
			//判断要连接的数据库是否已经存在
			if(!isDataBaseExists())
			{//数据库不存在的情况
				//没有创建则创建并获取数据库的连接
				con=DriverManager.getConnection("jdbc:derby:db/test;create=true","","");
				//获取Statement对象并执行SQL语句来新建一张表
				st=con.createStatement();
				st.execute(sql);	
			}
			else
			{//数据库存在的情况
				//获取指定数据库的连接
				con=DriverManager.getConnection("jdbc:derby:db/test","","");
				//获取Statement对象
				st=con.createStatement();
			}
			//插入两条记录
			st.executeUpdate("insert into student values('10001','王强',21,'97001')");
			st.executeUpdate("insert into student values('10002','李勇',23,'97002')");
			//对student表进行全表检索
			ResultSet rs=st.executeQuery("select * from student");
			//打印表头信息
			System.out.println("学号\t姓名\t年龄\t班级");
			//循环打印表中的记录
			while(rs.next())
			{
				//依次获取该记录中各个字段的信息
				String sid=rs.getString(1);
				String sname=rs.getString(2);
				String sage=rs.getString(3);
				String sclass=rs.getString(4);
				//打印该条记录
				System.out.println(sid+"\t"+sname+"\t"+sage+"\t"+sclass);
			}
			//关闭结果集
			rs.close();
			//关闭语句
			st.close();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				//关闭数据库连接
				con.close();				
			}
			catch(SQLException e)
			{
				e.printStackTrace();
			}
			try
			{
				//关闭数据库,如果成功shutdown将抛出异常
				DriverManager.getConnection("jdbc:derby:;shutdown=true");			
			}
			catch(SQLException e)
			{
				e.printStackTrace();
			}
		}
	}
	//判断数据库是否存在的方法
	public static boolean isDataBaseExists()
	{
		//默认数据库不存在
		boolean dbExists=false;
		//声明数据库文件路径的File对象
		File dbFileDir=new File("db/Test");
		//测试该路径是否存在
		if(dbFileDir.exists())
		{
			//若存在则将dbExists值置为true
			dbExists=true;
		}
		return dbExists;
	}
}

⌨️ 快捷键说明

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