package lyf;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//还是用到了sqljdbc4.jar中的com.microsoft.sqlserver.jdbc.SQLServerDriver,用于加载驱动
public class test {
public static void main(String[] args) {
//使用JDBC-ODBC桥接器建立数据库连接的方法
Connection con=null;//Connection类负责建立与指定数据库的连接
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test";
String sql="insert into test values(906,'cps')";
//****************************************************************
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//返回与带有给定字符串名的类或接口相关联的 Class 对象 用于加载和注册驱动程序
System.out.println("加载驱动成功");}
catch (ClassNotFoundException e){
e.printStackTrace();
System.out.println("找不到驱动程序类 ,加载驱动失败");}
//****************************************************************
try {
con=DriverManager.getConnection(url,"lyf","lyf123");
//它使用指定的数据库URL、用户名和用户密码创建一个连接
//使DriverManager从注册的JDBC驱动程序中选择一个适当的驱动程序。
//如果发生数据库访问错误,则程序抛出一个SQLException异常
System.out.println("和ODBC数据源指定的数据库建立连接成功");}
catch (SQLException e){
e.printStackTrace();System.out.println("和ODBC数据源指定的数据库建立连接失败");}
//****************************************************************
try {
Statement stmt=con.createStatement();
//Statement类的主要功能是将SQL命令传送给数据库,并将SQL命令的执行结果返回
stmt.executeUpdate(sql);
//public int executeUPdate(String sql)throws SQLException方法,
//用来执行SQL的INSERT、UPDATE和DELETE语句,返回值是插入、修改或删除的记录行数或者是0
ResultSet rs=stmt.executeQuery("SELECT * FROM test");
//public ResultSet executeQuery(String sql)throws SQLException方法,用来执行指定的SQL查询语句,返回查询结果。
//如果发生数据库访问错误,则程序抛出一个SQLException异常
while(rs.next()) {
//public boolean next() throws SQLExecption 利用到下个记录 相对previous()
System.out.println(rs.getInt("number")+"\t"+rs.getString("name")); }
rs.close();
stmt.close();//public void close( )throws SQLException方法,用来释放Statement对象的数据库和JDBC资源
con.close();//用来断开Connection类对象与数据库的连接
} catch (SQLException e) {
e.printStackTrace();System.out.println("Statement失败");}
}
}
PreparedStatement类提供的常用成员方法如下
public ResultSet executeQuery( )throws SQLException方法,使用SQL指令SELECT对数据库进行记录查询操作,并返回ResultSet对象
public int executeUpdate( )throws SQLException方法,使用SQL指令INSERT、DELETE和UPDATE对数据库进行添加、删除和修改记录(Record)操作
public void setDate(int parameterIndex,Date x)throws SQLException方法,用来给指定位置的参数设定日期型数值
public void setDouble(int parameterIndex,double x)throws SQLException方法,用来给指定位置的参数设定Double型数值
ResultSet类
ResultSet类表示从数据库中返回的结果集
public void update类型(int ColumnIndex)
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动,==new com.mysql.jdbc.Driver();
String url = "jdbc:mysql://localhost:3306/javademo?"
+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
//javademo是数据库名称Mysql的JDBC URL编写方式为:jdbc:mysql//主机名称:连接端口/数据库名称?参数=值,
//为了避免中文乱码要指定useUnicode和characterEncoding.
Connection conn = DriverManager.getConnection(URL);//如果使用三个参数,则第一个参数要删除user=root&password=root
Class.forName("oracle.jdbc.driver.OracleDriver");
oracle URL:
jdbc:oracle:thin:@localhost:1521:SID
jdbc:oracle:thin:@//localhost:1521:SERVICENAME
thin:小型驱动,驱动方式
localhost 本机ip地址 127.0.0.1
SID:数据库的SID SID安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码
SERVICENAME:数据库的SID