一、insert返回插入新数据的指定信息
////指定获取的列名,也可已传入int数组指定获取的列的下标
ps = conn.prepareStatement(sql,new String[]{"id"});
ps.executeQuery();
ResultSet rs = ps.getGeneratedKeys();
二、DatabaseMetaData的用法
1、获得对象
Connection con ;
con = DriverManager.getConnection(url,userName,password);
DatabaseMetaData dbmd = con.getMetaData();
2、方法getTables的用法
ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type)
此方法可返回结果集合ResultSet ,结果集中有5列, 超出会报越界异常
功能描述:得到指定参数的表信息
参数说明:
参数:catalog:目录名称,一般都为空.
参数:schema:数据库名,对于oracle来说就用户名
参数:tablename:表名称
参数:type :表的类型(TABLE | VIEW)
注意:在使用过程中,参数名称必须使用大写的。否则得到什么东西。
三、常见数据库参数
MySQL:
String Driver="com.mysql.jdbc.Driver"; //驱动程序
String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver);
Connection con=DriverManager.getConnection(URL,Username,Password);
Microsoft SQL Server :
String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法
String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加载数据可驱动
Oracle:
String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法
String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver) ; //加载数据库驱动
Connection con=DriverManager.getConnection(URL,Username,Password);
PostgreSQL:
String Driver="org.postgresql.Driver"; //连接数据库的方法
String URL="jdbc:postgresql://localhost/db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver) ;
Connection con=DriverManager.getConnection(URL,Username,Password);
DB2:
String Driver="com.ibm.dbjdbc.app.DBDriver"; //连接具有DB2客户端的Provider实例
//String Driver="com.ibm.dbjdbc.net.DBDriver"; //连接不具有DB2客户端的Provider实例
String URL="jdbc:db2://localhost:5000/db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver) ;
Connection con=DriverManager.getConnection(URL,Username,Password);
四、ResultsetMetaData
ResultsetMetaData rsmd=rs.getMetaData();
getColumnCount();
getColumnName(int column);
getColumnType(int column); 返回int值
getColumnTypeName(int column); 返回字符串
isReadOnly(int column)//返回指定的列是否只能读
isNullable(int column)//返回指定列是否为空
五、批处理
1.使用Statement
Statement批处理方式:
Statement st = conn.createStatement();
st.addBatch(更新语句1);
st.addBatch(更新语句2);
…..
st.executeBatch();
st.close();
2.使用PreparedStatement
PreparedStatement ps = conn.preparedStatement(sql);
ps.setXXX(索引,参数值);
… …
ps.addbatch();
ps.executeBatch();
ps.close();