Java连接SQL数据库教程:ODBC与JDBC详解
创始人
2024-12-20 14:43:22
0 次浏览
0 评论
Java如何连接SQL
首先通过ODBC数据源连接packbmanager;publicclassSql{publicSql(){try{jbInit();}catch(Exceptionex){ex.printStackTrace();}}/***jbInit*/privatevoidjbInit(){}publicstaticConnectiongetConnection(){Connectioncon=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{//test是数据猿的名称Stringurl="jdbc:odbc:test";Stringstr;con=DriverManager.getConnection(url);}catch(SQLExceptionce){System.out.println(ce);}returncon;}}配置winxp系统ODBC数据源,启动-控制面板-性能与安全管理工具维护-ODBC数据源-添加-sqlserver(最下面)-完成-数据源名称:test-server:.-下一步-下一步-更改连接的数据库-下一步按-完成-数据源测试我QQ459193055二、连接通过JDBC直接访问数据库packagesqlconn;importjava.sql.*;publicclassConn{StringDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";StringConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";publicConn(){try{Class.forName(DBDriver).newInstance();conn=DriverManager.getConnection(ConnStr,"sa","sa");}catch(SQLExceptione){System.out.println(e.getMessage());}catch(Exceptione){System.out.println(e.getMessage());}}publicstaticConnectiongetConn()//获取连接方法{returnconn;}需要三个文件作为控制器JAVA连接SQL数据库
importjava.sql.ResultSet;//导入下面需要用到的一些类StringConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库urlpublicsqlServer(){try{Class.forName(DBDriver).newInstance();//加载SQLServer驱动,DBDriver就是你上面的代码;erManager.getConnection(ConnStr,"sa","sa");//连接数据库//WINJUE:1433;ConnStr是您自己创建的数据。Database(Database)}catch(SQLExceptione){//捕获SQL异常System.out.println(e.getMessage());//如果发生异常,捕获后此代码会打印出来,原因等。
}catch(Exceptione){//捕获异常,这个是通用的,所以上面的顺序不能颠倒,先小到大,我连接的是ORACLE和MYSQL,我一般不需要这样,我只需要捕获SQL异常即可使用它们OLSystem.outprintln(e.getMessage());}}publicConnectiongetConn(){//获取连接方法returnconn;}publicvoidinsert(Stringsql){//添加、删除或修改try{Statementstm=conn.createStatement();调用conn下的方法创建Statement对象stm.executeUpdate(sql);//调用Statement下面的方法执行SQL语句。
System.out.println("操作成功");}catch(Exceptione){System.out.println(e.getMessage());//同上}}publicResultSetquery(Stringsql){//查询try{Statementstm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stm.executeQuery(sql);//同上}catch(Exceptione){System.out.println(e.getMessage());}returnrs;}publicstaticvoidmain(Stringargs[]){sqlServerconn=newsqlServer();//创建sqlServer,即你上面的类,这样就可以调用ResultSetrs=conn.query("select*)中的方法.fromOrders");//调用查询方法,执行SQL语句并将结果存入结果集//conn.insert("deletefromBookInfowhereBookName="+"\'悟空传\'");//conn.insert("insertintoBookInfo(BookID,BookName,Author,KeyWord)values(14445678,'悟空传','现在在哪里','孙悟空')");try{while(rs.next()){//循环,判断结果集中的记录,一条记录往下看是否还有另一条记录。
如果返回true,则转至System.out.print(rs.getString("OrderID"));//System.out.print(rs.getString("U_age"));}rs.close();//关闭结果集}catch(Exceptione){System.out.println(e.getMessage());}}}注意:TYPE_FORWARD_ONLY:默认类型。
前向访问仅允许一次,并且不受其他用户对数据库所做的更改的影响。
TYPE_SCROLL_INSENSITIVE:允许您在列表中向前或向后移动,甚至可以移动到特定位置,例如例如,移动到列表中的第四条记录或从当前位置向后移动两条记录。
其他用户对数据库的更改没有影响。
TYPE_SCROLL_SENSITIVE:与TYPE_SCROLL_INSENSITIVE类似,允许在数据集中定位。
此类型受其他用户所做的更改的影响。
如果用户在执行查询后删除一条记录,该记录将从结果集中消失。
同样,数据值的更改也会反映在ResultSet中。
相关文章
Redis过期时间设置详解:更新与策略对...
2024-12-20 00:50:39C语言循环控制:while和do-whi...
2024-12-15 16:34:25SQL提取字段特定部分方法解析及示例
2024-12-16 06:06:07MySQL OR与AND使用技巧详解及代...
2024-12-19 20:57:26Java Swing表格实现数据定时刷新...
2024-12-15 13:48:08MySQL vs SQL Server:...
2024-12-19 07:22:33SQL Server数据库中导入SQL文...
2024-12-15 18:31:28SQL删除约束方法详解:步骤与ORACL...
2024-12-18 06:12:49SQL2008数据库还原错误3241及指...
2024-12-19 21:51:32MySQL数据库导出全攻略:mysqld...
2024-12-20 14:26:24最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
SQL2000数据库备份压缩技巧:优化空...
怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...
2
高效掌握:CMD命令轻松启动、关闭及登录...
如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...
3
SQL字符串处理技巧:单引号使用与转义标...
SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...
4
Windows环境下Redis安装指南与...
redis安装windowsredis基本简介与安装安装Redis首先需要获取安...
5
深度解析:Redis性能优势与局限性,助...
redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...
6
深入解析:MySQL数据库的特性与应用
mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...
7
掌握MySQL常用命令:高效管理数据库的...
MySQL数据库常用命令(新建/删除/查询&am...
8
MySQL数据库备份与增量备份策略详解
mysql数据库备份方法有什么?MySQL数据库自动备份解决方案在使用MySQL...
9
Python中==与=的区别:深度解析与...
python中==和=的区别Python中的对象包含三个元素:id、type和v...
10
MySQL数据库安装路径解析与配置文件备...
mysql数据库在哪个路径下?默认的MySQL数据库存储在...\MySQL\M...