1)JDBC-ODBC桥加ODBC驱动程序
JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。
(2)本地API
这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。
(3)JDBC网络纯Java驱动程序
这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。
(4)本地协议纯Java驱动程序
这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。
据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的appletapplet来下载该驱动程序)。
首先要确定你安装了相应的数据库没有…conn 后要有url ,user ,password 参数…不加不然连不上数据库的…,要确定你有没有上述加载类…的包…,看你报的错误应该是没有相应的数据库,没有指向…
1JDBC呗,import javasql;
传统连接方式
Connection conn = getConnection();//获得连接
//注意下边应该抛出个SQLException异常
Statement stat = conncreateStatement();
statexecuteXXX("")//执行SQL语句,查询就是Query,插入,修改这种 *** 作就Update
ResultSet result; //查询后返回的结果集用这个保存
connclose//最后别忘了关闭连接
2当然是Hibernate了,是一种持久层技术,建立相应的实体后可以把数据库当对象 *** 作,非常方便,具体使用我觉得应该看看书会比较好!
我刚写了一个只有插入的,望采纳
import javasql;
import javautil;
public class TestPre {
public static void main(String[] args) {
int i=0,deptno=0;//i只做while循环使用,deptno是表dept2中的一个属性,类型是int
String dname=null,loc=null;//dname和loc也是表dept2的属性,类型是String
Scanner s=new Scanner(Systemin);
Systemoutprintln("请输入3个参数");
while(i<3){
try{
deptno=snextInt();
i++;
dname=snext();
i++;
loc=snext();
i++;
}catch(InputMismatchException e){
Systemoutprintln("输入的类型不符,退出");
Systemexit(-1);
}
}
Connection conn=null;
PreparedStatement pstmt=null;
try {
ClassforName("commysqljdbcDriver");
conn = DriverManagergetConnection("jdbc:mysql://localhost/mydata"+ "user=root&password=root");
pstmt=connprepareStatement("insert into dept2 values(,,)");
pstmtsetInt(1, deptno);
pstmtsetString(2, dname);
pstmtsetString(3, loc);
pstmtexecuteUpdate();
Systemoutprintln("插入完成");
} catch (ClassNotFoundException e) {
Systemoutprintln("连接数据库不成功,程序退出");
Systemexit(-1);
} catch (SQLException e) {
Systemoutprintln("连接数据库不成功,程序退出");
Systemexit(-1);
}
finally{
try{
if(pstmt!=null){
pstmtclose();
pstmt=null;
}
if(conn!=null){
connclose();
conn=null;
}
}catch(SQLException e){
eprintStackTrace();
}
}
}
}
你要连接的是什么数据库
连接什么数据库,你就要去下载相应的驱动
package comdaoconn;
import javasqlConnection;
import javasqlDriverManager;
import javasqlSQLException;
import comentityPubTermBean;
/
ms sql2005连接
@author Administrator
/
public class ConnByMsSql2005 {
public static Connection getConn(){
Connection conn=null;
try {
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver")newInstance(); //加载驱动类
conn=DriverManagergetConnection("jdbc:sqlserver:127001:1433;databasename=数据库名","登录数据库名","密码");
} catch (InstantiationException e) {
eprintStackTrace();
} catch (IllegalAccessException e) {
eprintStackTrace();
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
}
//查询数据库表的方法
public List<Us> select() {
Connection con = null;
PreparedStatement pst = null;
ResultSet rt = null;
con = ConnByMsSql2005 getConn();//获得上面的连接数据库的对象
List<Us> list = new ArrayList<Us>();
try {
String sql="select from users";//查询语句
pst = conprepareStatement();
rt = pstexecuteQuery();//执行查询
while (rtnext()) { //循环查询的结果集
//将数据封装到javabean里
Us u = new Us();
usetId(rtgetInt(1));
usetName(rtgetString(2));
usetPwd(rtgetString(3));
//将每一个javabean对象放到list集合
listadd(u);
}
} catch (SQLException e) {
eprintStackTrace();
} finally {
//关闭数据库 *** 作对象
try {
if (rt != null) {
rtclose();
}
if (pst != null) {
pstclose();
}
if (con != null) {
conclose();
}
} catch (SQLException e) {
eprintStackTrace();
}
}
return list; //返回得到的数据库数据
}
JAVA连接数据库的方式有多种:
根据所需要的不同数据库驱动分,分为四种:
1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。
2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。
3:3类驱动。这就是JDBC+厂商Database
Connection
Server+DataBase的形式。
这种方法就是在JAVA
与
DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。
4:4类驱动。这就是纯JDBC+DATABASE的连接方式。也是推荐的连接方式。这使得APPLICATION与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。在这其中有两种连接的方式:
硬编码方式,就是在程序中硬性编入数据库连接的所须参数。
JNDI
DataSource方式。就是在程序运行的外布环境中又称(Context)设置一个datasource数据源,有一个jndi
名称,程序只须查找此名称就可得到一个数据库连接的对象。
以上就是关于java访问数据库四种方法的对比全部的内容,包括:java访问数据库四种方法的对比、谁来帮助下java访问数据库的问题,谢谢了!、在Java语言中如何实现数据库的访问等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)