资源描述:
《Java利用JDBC连接Oracle数据库的问题与原代码(注释).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java利用JDBC连接Oracle数据库的问题与原代码(注释)主要代码:Importjava.sql.Connection;Importjava.sql.DriverManager;Driver=“oracle.jdbc.driver.OracleDriver”;//连接的驱动url=“jdbc:odbc:thin:@127.0.0.1:1521:USER”;//连接的URLusername=“”;//登录数据库的用户名password=“”;//登录数据库的密码Class.forName(Drive
2、r);//使用Class.forName()方法自动创建这个驱动程序的实例并自动调用DriverManager来注册它,加载Oracle驱动程序Connectionconn=null;conn=DriverManager.getConnection(url,username,password);//获取数据库的连接conn.close();//关闭当前对象连接1.导入Oracle的jar包,项目名(TestConnection)右键>>BulidPath>>ConfigureBuildpath>>(右边
3、界面)Libraries>>AddExternalJars>>找到自己安装oracle的路径(我的是F:appuserproduct11.2.0dbhome_1jdbclib),找到ojdbc6.jar或者其他的,点击确认导入即可。(这是我建立的)2.连接数据库的URL为,jdbc:oracle:thin:@127.0.0.1:1521:USER,127.0.0.1代表使用本地数据库,或者使用jdbc:oracle:thin:@localhost:1521:USER,其Oracle数据库的
4、一般端口均为1521。3.Oracle数据库的用户,一般在安装时设置的密码为DBA的密码(用户名为SYS),SYS用户是数据库中的最高权限的数据库管理员。用java连接数据库时使用的是Normal的用户,因此使用SYS登录后,设置新用户,并设置权限。设置新用户:createuserusernameidentifiedbypassword设置权限:grantcreatesessiontousernamegrantcreateselectanytabletousernamegrantconnect,reso
5、urcetousername(出现ORA-01950错误,是由于表空间操作的权限不足)4.编译SQL语句Statement和PreparedStatement的区别PreparedStatement继承Statement,是其子类,execute、executeQuery、execuUpdatePreparedStatementpstmt=null;Statementstmt=newcreateStatement();查看数据:select_Sql=“select*fromtable”;Resultse
6、trs=stmt.excuteQuery(select_Sql);pstmt=conn.preparedStatement(select_Sql);Resultsetrs=pstmt.excuteQuery();插入数据:insert_Sql1=“insertintotable(col1,col2,col3)value(‘”+var1+”’,’”+var2+”’,’”+var3+”’)”;stmt.excuteUpdate(insert_Sql1);insert_Sql2=“insertintotabl
7、e(col1,col2,col3)value(?,?,?)”;//sql语句不再采用拼接方式,应用占位符问号的方式写sql语句Pstmt=conn.preparedStatement(insert_Sql2);pstmt.setString(1,var1);//对占位符设置值,占位符顺序从1开始,第一个参数是占位符的位置,第二个参数是占位符的值pstmt.setString(2,var2);pstmt.setString(3,var3);pstmt.excuteUpdate();//返回值为true或f
8、alse,可以接受返回值,判断是否插入成功修改数据://同样利用占位符alter_Sql=“updatetablesetcol2=?wherecol1=?”;pstmt.setString(1,var1);//若为int类型的,则使用pstmt.setInt(1,var1);pstmt.setString(2,var2);删除数据:delete_Sql=“delectfromtablewherecol=?”PraparedStatement