Java中如何实现与后台数据库的连接?

Java中如何实现与后台数据库的连接?,第1张

用JAVA连接数据库主要有两种方式,一是用JDBC-ODBC桥来连接,二是用相关厂商提供的相应驱动程序来连接,首先谈谈第一种连接。 \x0d\x0a\x0d\x0aJDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。对于WINDOWS平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。 \x0d\x0a\x0d\x0a由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通行方式如图所示: \x0d\x0a\x0d\x0a应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源 \x0d\x0a\x0d\x0a具体 *** 作方法为: \x0d\x0a\x0d\x0a首先打开控制面板的管理工具,打开数据源(ODBC),在用户DSN里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL SERVER 2000的GoodsSupply数据库。名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置,如果选用了使用SQL-SERVER密码认证的话,就要输入相应的用户名及密码连接到数据库。一路下一步设置完成。 \x0d\x0a\x0d\x0a在JAVA里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与与列名,把该列的所有数据输出。源代码如下: \x0d\x0a\x0d\x0aimport java.io.BufferedReader\x0d\x0aimport java.io.InputStreamReader\x0d\x0aimport java.sql.*\x0d\x0a\x0d\x0apublic class ODBCBridge { \x0d\x0a\x0d\x0apublic static void main(String[] args) { \x0d\x0aString url="jdbc:odbc:GoodsSupply"\x0d\x0aStatement sm=null\x0d\x0aString command=null\x0d\x0aResultSet rs=null\x0d\x0aString tableName=null\x0d\x0aString cName=null\x0d\x0aString result=null\x0d\x0aBufferedReader input=new BufferedReader(new InputStreamReader(System.in))\x0d\x0atry { \x0d\x0atry { \x0d\x0aClass.forName("sun.jdbc.odbc.JdbcOdbcDriver")//加载驱动 \x0d\x0a}catch(ClassNotFoundException e){ \x0d\x0aSystem.out.println("Can not load Jdbc-Odbc Bridge Driver")\x0d\x0aSystem.err.print("ClassNotFoundException:")\x0d\x0aSystem.err.println(e.getMessage())\x0d\x0a} \x0d\x0aConnection con=DriverManager.getConnection(url,"USER","PASSWORD")//使用SQL-SERVER2000认证 \x0d\x0aDatabaseMetaData dmd=con.getMetaData()//DMD为连接的相应情况 \x0d\x0aSystem.out.println("连接的数据库:"+dmd.getURL())\x0d\x0aSystem.out.println("驱动程序:"+dmd.getDriverName())\x0d\x0asm=con.createStatement()\x0d\x0aSystem.out.println("输入表名")\x0d\x0atableName=input.readLine()\x0d\x0awhile(true) { \x0d\x0aSystem.out.println("输入列名(为空时程序结束):")\x0d\x0acName=input.readLine()\x0d\x0aif(cName.equalsIgnoreCase("")) \x0d\x0abreak\x0d\x0acommand="select "+cName+" from "+tableName\x0d\x0ars=sm.executeQuery(command)//执行查询 \x0d\x0aif(!rs.next()) \x0d\x0aSystem.out.println("表名或列名输入有误")\x0d\x0aelse { \x0d\x0aSystem.out.println("查询结果为:")\x0d\x0ado \x0d\x0a{ \x0d\x0aresult=rs.getString(cName)\x0d\x0a//数据库语言设置为中文,不用转换编码 \x0d\x0a//result=new String(result.getBytes("ISO-8859-1"),"GB2312")\x0d\x0aSystem.out.println(result)\x0d\x0a}while(rs.next())\x0d\x0a} \x0d\x0a} \x0d\x0a}catch(SQLException ex) { \x0d\x0aSystem.out.println("SQLException:")\x0d\x0awhile(ex!=null) { \x0d\x0aSystem.out.println("Message:"+ex.getMessage())\x0d\x0aex=ex.getNextException()\x0d\x0a} \x0d\x0a}catch(Exception e) { \x0d\x0aSystem.out.println("IOException")\x0d\x0a} \x0d\x0a} \x0d\x0a}

首先下载加载驱动

http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz

代码

Class.forName("org.sqlite.JDBC")

Connection conn = DriverManager.getConnection("jdbc:sqlite:filename")//filename为你的SQLite数据名称

// ... use the database ...

conn.close()

1.首先要移动mysql-connector-java-5.1.44-bin.jar到tomactde的lib目录下(我的目录是这样:F:\tomcat\apache-tomcat-7.0.63\lib)这是一个连接数据库要用到包,一般在下载mysql的时候选择配置会下载,然后移动到tomact的lib下;

2.在你要连接数据库的项目中新建一个jsp文件,将下列代码复制进去;

<%@ page contentType="text/htmlcharset=UTF-8" language="java" %> <%@ page import="com.mysql.jdbc.Driver"%><%@ page import="java.sql.*" %> //使用DriverManager获取数据库连接,其中返回的Connection就代表了Java程序和数据库的连接  <html><head>    <title>MySQL connect test</title></head><body><%    String driverName = "com.mysql.jdbc.Driver"    String userName = "root"          //你的数据库用户名    String passWorld = "your_password"//你的数据库密码    String dbName = "test"            //数据库名称    String tableName = "abc"          //表的名称     String url = "jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+passWorld    try {        Class.forName("com.mysql.jdbc.Driver").newInstance()        Connection connection = DriverManager.getConnection(url)        Statement statement = connection.createStatement()        String sql = "SELECT * FROM "+tableName        ResultSet result = statement.executeQuery(sql)        ResultSetMetaData rmate = result.getMetaData()        int numCount = rmate.getColumnCount()         while ( result.next() ) {            out.print(result.getInt(2))            out.print(result.getString(1))//            out.print(result.getInt(3))            out.print("<br>")        }         result.close()        statement.close()        connection.close()    } catch (Exception e) {        e.getMessage()    }%></body></html>

3.然后运行该代码就可以在页面看见你的数据了。在这里同时提供一个可以在IDEA快速查看数据库的方法;

4.点击IDEA右侧的DataBase,进入如下页面,点击要查看的数据库类型,我是MySQL;

5. 然后进入如下界面,输入数据库名称,账号,密码,然后先测试一下连接,测试通过后,就可以点击OK;

6.然后就可以查看你的数据信息啦。

拓展资料:

Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向对象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。


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

原文地址: http://outofmemory.cn/sjk/9928240.html

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

发表评论

登录后才能评论

评论列表(0条)

保存