java对数据库进行 *** 作是不是必须要用到JDBC:ODBC桥接吗

java对数据库进行 *** 作是不是必须要用到JDBC:ODBC桥接吗,第1张

不是必须的,JDBC技术其实就是为了简化连接过程,只需要导入相对应数据的jdbc driver,即可实现连接数据。

jdbc还支持实时更新和非实时更新,这也是adonet的重要特色。

ODBC我记得我学JDBC的时候,在阅读材料里见过,不是主流技术。

创建一个vo对象类,其中属性有class_No,student_Name,teacher_Name,st_No

list使用泛型存储创建的对象类。

将jdbc得到的值通过set属性方法给创建的对象赋值然后存放在list中。

再使用的时候遍历list拿到对象,通过get属性方法即可。

import javasql;

public class JDBCTest {

public static void main(String[] args){

           // 驱动程序名

           String driver = "commysqljdbcDriver";

           // URL指向要访问的数据库名scutcs

           String url = "jdbc:mysql://127001:3306/scutcs";

           // MySQL配置时的用户名

           String user = "root"; 

           // MySQL配置时的密码

           String password = "root";

           try { 

            // 加载驱动程序

            ClassforName(driver);

            // 连续数据库

            Connection conn = DriverManagergetConnection(url, user, password);

            if(!connisClosed()) 

             Systemoutprintln("Succeeded connecting to the Database!");

            // statement用来执行SQL语句

            Statement statement = conncreateStatement();

            // 要执行的SQL语句

            String sql = "select  from student";

            // 结果集

            ResultSet rs = statementexecuteQuery(sql);

            String name = null;

            while(rsnext()) {

    

             // 选择sname这列数据

             name = rsgetString("sname");

    

             // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

             // 然后使用GB2312字符集解码指定的字节数组

             name = new String(namegetBytes("ISO-8859-1"),"GB2312");

             // 输出结果

             Systemoutprintln(rsgetString("sno") + "\t" + name);

            }

            rsclose();

            connclose();

           } catch(ClassNotFoundException e) {

            Systemoutprintln("Sorry,can`t find the Driver!"); 

            eprintStackTrace();

           } catch(SQLException e) {

            eprintStackTrace();

           } catch(Exception e) {

            eprintStackTrace();

           } 

}

上面只是查询的例子,如果你需要增删改查,只需要改sql就行了,sql你可以自己试着写写,这种简单的sql十分简单跟英文差不多,如果你实在不想做我再帮你写,自己动手丰衣足食。。。另外,如果你想把找出来的东西放起来,那么你需要自己建个实体类(student)来放这些数据。。

JDBC是java数据库连接技术的简称,它提供了连接各种数据库的能力,这便使程序的可维护性和可扩展性大大的提高了JDBC连接数据库常见的驱动方式有两种,一种是jdbc-odbc即桥连另外一种是纯java驱动一般在做java开发的时候用第二种so前一种我就不说了,纯java驱动方式连接步骤如下:

1先把一个jdbc的jar包导入到项目(用MyEclipse开发)的lib中

2代码如下:

[c-sharp] view plain copy

import javasql;

/

 连接数据库帮助类

 @author Administrator

/

public class BaseDao {

private static final String DRIVER="commicrosoftsqlserverjdbcSQLServerDriver";

private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=LibraryManageSystem";

private static final String USERNAME="sa";

private static final String PASSWORD="sa";

/

 连接数据库

 @return 数据库连接对象

 @throws ClassNotFoundException

 @throws SQLException

/

public Connection getConn()throws ClassNotFoundException,SQLException{

ClassforName(DRIVER);

Connection conn = DriverManagergetConnection(URL,USERNAME,PASSWORD);

return conn;

}

/

 释放资源

 @param conn

 @param pstmt

 @param rs

 @throws SQLException

/

public void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs)throws SQLException{

if(rs!=null){

rsclose();

}

if(pstmt!=null){

pstmtclose();

}

if(conn!=null){

connclose();

}

}

/

 执行SQL语句,可以进行增、删、改的 *** 作

 @param sql

 @return 影响条数

 @throws ClassNotFoundException

 @throws SQLException

/

public int executeSQL(String sql)throws ClassNotFoundException,SQLException{

Connection conn = thisgetConn();

PreparedStatement pstmt = connprepareStatement(sql);

int number = pstmtexecuteUpdate();

thiscloseAll(conn, pstmt, null);

return number;

}

}

从代码知道首先吧jdbc驱动类装载java虚拟机中,即ClassforName(DRIVER);其次加载驱动并建立于数据库的连接Connection conn = DriverManagergetConnection(URL,USERNAME,PASSWORD);;然后发送SQL语句并的到结果集之后处理结果,最后要关闭数据库的连接,释放资源当然我说的这样连接数据库的方式使用的软件是sql和MyEclipse

使用配置文件来连接数据库,当然这样的连接需要进行一些配置其实这样的连接用专业术语来说就是连接池,连接池是负责分配管理和释放数据库连接它允许用用程序重复使用一个现有的数据库连接不再重复建立连接释放空闲时间超过最大空闲时间的数据库连接以避免因为没有释放数据库而引起的数据库遗漏

连接池的创建分为以下几个步骤:1配置contextxml文件  这个文件是服务器(指tomcat)的一个conf文件夹中,拷贝出来放入项目的lib文件夹中,具体配置如下:

[c-sharp] view plain copy

<Resource name="jdbc/book" auth="Container" type="javaxsqlDataSource"

maxActive="100" maxIdle="20" maxWait="100" username="sa" password="sa"

driverClassName="commicrosoftsqlserverjdbcSQLServerDriver"

url="jdbc:sqlserver://localhost:1433;dataBaseName=book"

/>在configxml文件中加入Resource标签,然后对数据库信息进行配置,当然这个数据库指的也是sqlserver有疑问可以qq757966892联系

之后把数据库的驱动包,这里指的是sql2005的包放入服务器的lib中,这样以后如果在你自己的机子上都不用在重新导入这个包了

然后就是从MyEclipse中取得这样的连接从而对数据库进行一些 *** 作具体代码如下:

[c-sharp] view plain copy

package weblogindao;

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javaxnamingContext;

import javaxnamingInitialContext;

import javaxsqlDataSource;

public class BaseDao {

protected Connection conn;

protected PreparedStatement ps;

protected ResultSet rs;

protected String sql;

public Connection getConn(){

try {

Context context=new InitialContext();

DataSource ds=(DataSource)contextlookup("java:comp/env/jdbc/user");

return dsgetConnection();

} catch (Exception e) {

eprintStackTrace();

return null;

}

}

public void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){

try {

if(rs!=null){

rsclose();

rs=null;

}

if(ps!=null){

psclose();

ps=null;

}

if(conn!=null){

connclose();

conn=null;

}

} catch (Exception e) {

eprintStackTrace();

}

}

}

之后便可以建立业务类从而对数据库进行 *** 作

重点在SQL语句的编写

可以使用exists排除,比如

delete from table1 t1

where exists(

select from table2 t2

where t2id = t1id

)

桥接:

SQL建库

只创建一个库

控制版面开始,依次

性能和维护

管理工具对话框

在管理工具中

双击数据源(ODBC)图标

进入界面后依次:

ODBC

数据源管理器(点击

添加)

创建新数据源(下拉框拉到最下

点击SQLServer)

创建到

SQL

Server

的新数据源(名称:自定;描述:可不填;服务器:(local)

点击下一步)

创建

SQL

Server

的新数据源(选择框中除了:附加数据库文件名全选,

更改默认的数据库为:你新建的数据库名称

点击下一步)

创建

SQL

Server

的新数据源(选择框中除了:执行字符数据翻译全不选

点击完成)

ODBC

Microsoft

SQL

Server

安装

(点击:测试数据源(T)

测试结果成功

OK)

ODBC

数据源管理器:

显示你刚刚连接的库

完成

OK

给咱赞下!~

以上就是关于java对数据库进行 *** 作是不是必须要用到JDBC:ODBC桥接吗全部的内容,包括:java对数据库进行 *** 作是不是必须要用到JDBC:ODBC桥接吗、java 数据库 *** 作 list使用、java对pl sql数据库查询,增加,修改,删除 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9441084.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存