📄 demojdbc.java
字号:
import java.sql.*;
public class DemoJDBC
{
private String dbURL;
public static void main(String[] args)
{
String driver="sun.jdbd.odbc.JdbcOdbcDriver";
String source="jdbc:odbc:PhoneBook";
try
{
//查找用于JDBC驱动的类,这种查找会使得JAVA虚拟机装入该类,这个类的静态
//初始化语句块会对驱动程序进行初始化,从而下面可直接使用该驱动程序进行数
//据库连接,无需再作其他额外的事情
DemoJDBC bridge=new DemoJDBC();
bridge.setURL("jdbc:odbc:PhoneBook");
Connection con=bridge.getConnection();
//System.out.println(con.getCatalog());
//con.close();
//private String user;
//private String password;
public Connection getConnection()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
return DriverManager.getConnection(dbURL);
}
catch (Exception e)
{
System.out.println(e.toString());
}
return null;
}
public void setURL(String dbURL)
{
this.dbURL=dbURL;
};
}
catch (ClassNotFoundException exc)
{
//当没有驱动程序时,应用程序无法继续运行,故退出程序
System.out.println("没有发现驱动程序:"+driver);
exc.printStackTrace();System.exit(1);
}
try
{
//建立与指定数据库的连接
Connection connection =DriverManager.getConnection(source);
//如果连接成功则检测是否有警告信息
SQLWarning warn=connection.getWarnings();
while(warn!=null) {
System.out.println(warn.getMessage());
warn=warn.getNextWarning();
}
//创建一个用于执行预编译SQL的语句对象
String sql="SELECT * FROM Person WHERE id=? AND birthday<=?";
PreparedStatement pStm=connection.prepareStatement(sql);
//设置预编译SQL语句的参数值
pStm.setString(1,new String("leeman"));
pStm.setDate(2,new Date(1970,2,2));
//发送和执行预编译的SQL语句,获得查询结果集
ResultSet result =pStm.executeQuery();
//使用迭代模式访问查询结果集
while(result.next()) {
String id=result.getString("id");
String name=result.getString("name");
Date birthday=result.getDate("birthday");
String sex =result.getBoolean("sex")?"女":"男";
System.out.println(id+"\t"+name+"\t"+sex+"\t"+birthday);
}
//关闭查询结果集
result.close();
//关闭SQL预编译语句
pStm.close();
//创建执行简单SQL语句的SQL语句对象
Statement stm=connection.createStatement();
//发送和执行简单SQL语句,获取查询结果集
sql="SELECT * FROM Person:";
result=stm.executeQuery(sql);
//使用迭代模式访问查询结果集
while (result.next())
{
String id=result.getString("id");
String name=result.getString("name");
String sex =result.getBoolean("sex")?"女":"男";
Date birthday=result.getDate("birthday");
System.out.println(id+"\t"+name+"\t"+sex+"\t"+birthday);
}
//关闭查询结果集
result.close();
//关闭SQL语句
stm.close();
//关闭数据库连接
connection.close();
}
catch (SQLException exc)
{
System.out.println("在执行数据库访问时发生了错误!");
exc.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -