求JDBC的连接实例。新人 刚学java,想要连接MySQL和Linux的jdbc连接实例。我是新手,大家莫笑啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵, 我正好有。发给你吧,都是从不会开始的。楼主加油啊!!JDBC是java平台访问关系型数据库的数据库的唯一的通用的接口JDBC分为2层,一层是接口,一层是驱动(具体的实现)接口集他就是一个协议(合同).SUN公司是甲方,他定义了乙方(具体的数据库厂商)需要做的一些事情.调用者(java的程序员)和实现者(数据库驱动的程序员)之间的协议.1 链接数据库 2 向数据库发送sql命令 3 处理结果从结构上来说JDBC是一个接口集Driver 按照JDBC规范实现的一个组件(类库);四种驱动类型.1.JDBC-ODBC-Bridge Driver(ODBC是MS开发的通用的访问数据库的接口,ODBC是基于C语言的,可以把JDBC看做是ODBC的java版,)这个驱动是唯一SUN公司自己写的一个驱动.特点:效率不高,而且安全性不够.2.partly-Java-Native-Driver 部分java本地驱动:本身java是安全的,但是有一部分是不安全的,所以整体的安全性能就依赖于本地代码那一部分,所以java的安全性就完全没有了.3.Pure-Java-Net-Driver:虽然是纯java写的,安全方面的问题没有了,但是效率是很低的,4.Pure-Java-Native-Protocol-Driver.:纯java本地协议驱动java.sql包和javax.sqlDriver 是一个接口,他代表驱动程序.数据库厂商必须实现这个接口.DriverManager 是一个辅助管理驱动程序的类,Connection 代表数据库连接,StatementPreparedStatementCallableStatement 这三个是数据库操作对象.ResultSet 代表结果集DatabaseMetadataResultSetMetada 这2个代表元数据Types 代表Jdbc类型,这个类里边只有静态常量环境和开发.环境 1.数据库服务器2.驱动包3.环境变量4.数据库连接信息oracle:thin:@192.192.168.0.23:1521:tarenajdbc:mysql://127.0.0.1:3306/testhttp://202.156.8.100:80/index.html=================================================public static void main(String[] args){ Connection con = null; Statement stmt = null; ResultSet rs = null; StringBuffer sb = new StringBuffer(); try { //1. 加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //2. 连接数据库 con = DriverManager.getConnection( "jdbc:oracle:thin:@192.168.0.23:1521:tarena","hzsd0702", "hzsd0702"); //3. 获取数据库操作对象 stmt = con.createStatement(); //4. 操作数据库 rs = stmt.executeQuery( "select id,name from t_user order by id"); //5. 处理结果集 while(rs.next()){ sb.append("id="+rs.getString(1)+" name="+rs.getString(2)+"\n"); } System.out.println(sb.toString()); } catch ( Exception e) { e.printStackTrace(); }finally{ //6.关闭连接 try{ if(rs!= null) rs.close(); if(stmt!= null) stmt.close(); if(con!= null) con.close(); }catch (SQLException ex){ ex.printStackTrace(); } }=======================================Class.forName();把这个类加载到内存,并且调用了DriverManager的一个静态方法static void registerDriver(Driver driver),注册到DriverManager里边,DriverManager里边相当有个列表记录着注册的Driver,当你掉DriverManager的static Connection getConnection(String url, Properties info) 这个方法获得Connection的时候,DriverManager会遍历自己的那个列表,去那里找合适的Driver,然后调用Driver里边的一个Connection connect(String url, Properties info) 这个方法,获得这个Connection方法.========================================DriverManager 的getConnection这个方法是一个代理方法.他会用到向他注册过的驱动,调用这些驱动对象来连接数据库,Driver会解析传过来的这个URL,通过他自己的connect方法.获得Connection对象.ResultSet游标是单向的,而且是只读的.rs.next(); 使游标向下移动一个位置,并且返回当前的那个游标所指的记录.rs.getString()rs.getDouble()通过相应类型的方法来取出来这里边的值,参数可以跟一个整数,代表第你要取第几个字段,或者里边跟上字段名,但是如果参数里边传的是字段名的话,这样会使效率降低. java 对象 释放问题,请各位指教,谢谢!!! java 构造方法 继承问题 如何统计给定字符串S中出现最多的字符? 怎样把JMF也打包进JAR? 请教高手关于集合类的问题,在线等。 一个书上的例子,没看明白 求教 java中cancel按钮怎么做? java如何能定时(比如说0.1秒)执行一个固定的方法? JBuilder6是不是不带CoreJava这个包? 在面版上移除容器后再加载其他容器怎么实现。。。 很基础的东东,在下不懂
JDBC分为2层,一层是接口,一层是驱动(具体的实现)接口集他就是一个协议(合同).SUN公司是甲方,他定义了乙方(具体的数据库厂商)需要做的一些事情.
调用者(java的程序员)和实现者(数据库驱动的程序员)之间的协议.1 链接数据库 2 向数据库发送sql命令 3 处理结果从结构上来说JDBC是一个接口集Driver 按照JDBC规范实现的一个组件(类库);
四种驱动类型.
1.JDBC-ODBC-Bridge Driver(ODBC是MS开发的通用的访问数据库的接口,ODBC是基于C语言的,可以把JDBC看做是ODBC的java版,)这个驱动是唯一SUN公司自己写的一个驱动.特点:效率不高,而且安全性不够.
2.partly-Java-Native-Driver 部分java本地驱动:本身java是安全的,但是有一部分是不安全的,所以整体的安全性能就依赖于本地代码那一部分,所以java的安全性就完全没有了.
3.Pure-Java-Net-Driver:虽然是纯java写的,安全方面的问题没有了,但是效率是很低的,
4.Pure-Java-Native-Protocol-Driver.:纯java本地协议驱动java.sql包和javax.sqlDriver 是一个接口,他代表驱动程序.数据库厂商必须实现这个接口.
DriverManager 是一个辅助管理驱动程序的类,
Connection 代表数据库连接,Statement
PreparedStatement
CallableStatement 这三个是数据库操作对象.ResultSet 代表结果集DatabaseMetadata
ResultSetMetada 这2个代表元数据Types 代表Jdbc类型,这个类里边只有静态常量环境和开发.
环境 1.数据库服务器2.驱动包3.环境变量4.数据库连接信息oracle:thin:@192.192.168.0.23:1521:tarenajdbc:mysql://127.0.0.1:3306/testhttp://202.156.8.100:80/index.html
=================================================
public static void main(String[] args){
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
StringBuffer sb = new StringBuffer();
try
{
//1. 加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2. 连接数据库
con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.23:1521:tarena","hzsd0702",
"hzsd0702");
//3. 获取数据库操作对象
stmt = con.createStatement();
//4. 操作数据库
rs = stmt.executeQuery(
"select id,name from t_user order by id");
//5. 处理结果集
while(rs.next()){
sb.append("id="+rs.getString(1)+" name="+rs.getString(2)+"\n");
}
System.out.println(sb.toString());
}
catch ( Exception e)
{
e.printStackTrace();
}finally{
//6.关闭连接
try{
if(rs!= null) rs.close();
if(stmt!= null) stmt.close();
if(con!= null) con.close();
}catch (SQLException ex){
ex.printStackTrace();
}
}
=======================================
Class.forName();把这个类加载到内存,并且调用了DriverManager的一个静态方法static void registerDriver(Driver driver),注册到DriverManager里边,DriverManager里边相当有个列表记录着注册的Driver,当你掉DriverManager的static Connection getConnection(String url, Properties info) 这个方法获得Connection的时候,DriverManager会遍历自己的那个列表,去那里找合适的Driver,然后调用Driver里边的一个Connection connect(String url, Properties info) 这个方法,获得这个Connection方法.
========================================
DriverManager 的getConnection这个方法是一个代理方法.他会用到向他注册过的驱动,调用这些驱动对象来连接数据库,Driver会解析传过来的这个URL,通过他自己的connect方法.获得Connection对象.ResultSet
游标是单向的,而且是只读的.
rs.next(); 使游标向下移动一个位置,并且返回当前的那个游标所指的记录.rs.getString()
rs.getDouble()
通过相应类型的方法来取出来这里边的值,参数可以跟一个整数,代表第你要取第几个字段,或者里边跟上字段名,但是如果参数里边传的是字段名的话,这样会使效率降低.