个人JDBC学习笔记(未完待续)
来源:互联网 发布:知画生孩子电视剧视频 编辑:程序博客网 时间:2024/05/08 18:42
一、装载驱动程序
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//SQL Server 2000的JDBC驱动类名oracel.jdbc.driver.OracleDriver//Oralce的JDBC驱动类名com.mysql.jdbc.Driver//MySQL的JDBC驱动类名二、建立连接
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");JDBC URL语法:jdbc:subprotocol:subname 协议:子协议:子名词
常用的JDBC URL形式
jdbc:microsoft:sqlserver://localhost:1433;databasename=pubsjdbc:oracle:thin:@localhost:1521:ORCLjdbc:mysql://localhost:3306/databasename
/**************************也可以通过JDBC-ODBC桥的方式*********************************************/
sun.jdbc.odbc.JdbcOdbcDriver//驱动类名jdbc.odbc:datasource_name//JDBC URL
/**********************************************************************************************************/
三、访问数据库
创建表
Statement stmt = con.createStatement();stmt.executeUpdate("CREATE TABLE COFFEES " +"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +"SALES INTEGER, TOTAL INTEGER)");或者String createTableCoffees = "CREATE TABLE COFFEES " + "(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " + "SALES INTEGER, TOTAL INTEGER)"; stmt.executeUpdate(createTableCoffees);
增
Statement stmt = conn.createStatement(); stmt.executeUpdate( "INSERT INTO MyTable( name ) VALUES ( 'my name' ) " );
删
改
查
Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( "SELECT * FROM MyTable" ); while ( rs.next() ) { int numColumns = rs.getMetaData().getColumnCount(); for ( int i = 1 ; i <= numColumns ; i++ ) { // 与大部分Java API中下标的使用方法不同,字段的下标从1开始 // 当然,还有其他很多的方式(ResultSet.getXXX())获取数据 System.out.println( "COLUMN " + i + " = " + rs.getObject(i) ); } } rs.close(); stmt.close();
/****************Java程序员们更倾向于使用PreparedStatement****************************/
PreparedStatement ps = null;ResultSet rs = null;try {ps = conn.prepareStatement( "SELECT i.*, j.* FROM Omega i, Zappa j WHERE i = ? AND j = ?" );// 使用问号作为参数的标示// 进行参数设置// 与大部分Java API中下标的使用方法不同,字段的下标从1开始,1代表第一个问号// 当然,还有其他很多针对不同类型的类似的PreparedStatement.setXXX()方法ps.setString(1, "Poor Yorick");ps.setInt(2, 8008);// 结果集rs = ps.executeQuery();while ( rs.next() ) { int numColumns = rs.getMetaData().getColumnCount(); for ( int i = 1 ; i <= numColumns ; i++ ) { // 与大部分Java API中下标的使用方法不同,字段的下标从1开始 // 当然,还有其他很多的方式(ResultSet.getXXX())获取数据 System.out.println( "COLUMN " + i + " = " + rs.getObject(i) ); }}catch (SQLException e) { // 异常处理}finally { // 使用finally进行资源释放 try { rs.close(); ps.close(); } catch( SQLException e){} // 异常处理:忽略close()时的错误}
/**********************************************************************************************/
- 个人JDBC学习笔记(未完待续)
- javascript学习笔记(未完待续)
- Shell学习笔记...未完待续...
- jQuery 学习笔记(未完待续)
- 51学习笔记<未完待续>
- Java开发中的23+2种设计模式学习个人笔记(未完待续)
- Ajax学习笔记总结(未完待续)
- struts2 学习笔记(未完待续)
- Oracle学习笔记(未完待续)
- dreamweaver学习笔记(未完待续)
- css学习笔记(未完待续)
- LPC1765 UART模块学习笔记(未完待续)
- angular2学习笔记(未完待续)
- 进程学习笔记(未完待续)
- sql注入学习笔记(未完待续)
- DeepLab笔记(未完待续)
- 深度学习(三十五)对抗网络学习笔记-未完待续
- C语言学习第四章笔记,未完待续
- 异常处理
- 你是我的眼
- JDK 配置
- ASP.NET Page Life Cycle Overview (2011)
- NAS
- 个人JDBC学习笔记(未完待续)
- 对年轻离职者的忠告
- mysql 合并 多行结果
- android 读取文件相关
- #论政府行为--中美政府对比#
- Java基础笔记
- Ruby Oneliner A+B
- python中如何调用shell 中OS.SYSTEM等方法
- JSON对象格式