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 + -
显示快捷键?