- 浏览: 160564 次
- 性别:
- 来自: 杭州
文章分类
最新评论
一. JDBC连接Access实例
1. 准备条件
1.1 创建一个Access数据库,例如:C:\\ test.ldb
1.2 ODBC数据源配置:开始->控制面板->管理工具->数据源(ODBC)->系统DSN->添加->
Microsoft Access Driver (*.mdb)->完成->数据源名->选择数据库
1.3 把Customer.dat,User.dat,CreateDB.properties放到C盘下
2. CreateDB.java
二. JDBC连接Access实例(基于图形用户界面)
1. WatchDB.java
三. JDBC连接Access实例(基于Servlet与Jsp)
1. DBServlet.java
2. showDB.jsp
1. 准备条件
1.1 创建一个Access数据库,例如:C:\\ test.ldb
1.2 ODBC数据源配置:开始->控制面板->管理工具->数据源(ODBC)->系统DSN->添加->
Microsoft Access Driver (*.mdb)->完成->数据源名->选择数据库
1.3 把Customer.dat,User.dat,CreateDB.properties放到C盘下
2. CreateDB.java
package com.test.db; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class CreateDB { /** * 获得数据库连接 * @return 获得连接对象 * @throws FileNotFoundException * @throws IOException * @throws ClassNotFoundException * @throws SQLException */ private static Connection getConnection() throws FileNotFoundException,IOException,ClassNotFoundException,SQLException{ String path="C:\\CreateDB.properties"; Properties properties=new Properties(); FileInputStream in=new FileInputStream(path); properties.load(in); String driverClass=properties.getProperty("jdbc.drivers"); if(driverClass!=null){ Class.forName(driverClass); } String url=properties.getProperty("jdbc.url"); return DriverManager.getConnection(url); } /** * 创建表及数据 * @param tableName 表名 * @param in .dat文件的信息 * @param statement 操作对象 */ private static void createTable (String tableName,BufferedReader in,Statement statement) throws IOException,SQLException{ String line=in.readLine(); String command="create table "+tableName+"("+line+")"; statement.execute(command); while((line=in.readLine())!=null){ command="insert into "+tableName+" values("+line+")"; statement.execute(command); } } /** * 查询表数据 * @param tableName 表名 * @param statement 操作对象 */ private static void showTable(String tableName,Statement statement)throws SQLException{ String command="select * from "+tableName; ResultSet rs=statement.executeQuery(command); int columnCount=rs.getMetaData().getColumnCount(); while(rs.next()){ for(int i=1;i<=columnCount;i++){ if(i>1){ System.out.print(","); } System.out.print(rs.getString(i)); } System.out.println(); } rs.close(); } public static void main(String[] args){ try{ String tableName=null; if(args.length==0){ System.out.println("请输入表名"); System.exit(0); }else{ tableName=args[0]; } Connection conn=getConnection(); Statement statement=conn.createStatement(); BufferedReader in=new BufferedReader(new FileReader("C:\\"+tableName+".dat")); createTable(tableName,in,statement); showTable(tableName,statement); in.close(); statement.close(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); } } }
二. JDBC连接Access实例(基于图形用户界面)
1. WatchDB.java
package com.test.db; import java.awt.Component; import java.awt.Container; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Properties; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class WatchDB { public static void main(String[] args) { JFrame frame = new WatchDBFrame(); frame.show(); } } class WatchDBFrame extends JFrame implements ActionListener { private JButton nextButton; private JPanel dataPanel; private JComboBox tableNames; private ArrayList fields; private Connection con; private Statement stmt; private DatabaseMetaData md; private ResultSet rs; public static Connection getConnectin() throws IOException, ClassNotFoundException, SQLException { Properties props = new Properties(); String fileName = "C:\\CreateDB.properties"; FileInputStream in = new FileInputStream(fileName); props.load(in); String drivers = props.getProperty("jdbc.drivers"); if (null != drivers) { Class.forName(drivers); } String url = props.getProperty("jdbc.url"); return DriverManager.getConnection(url); } private void add(Container p, Component c, GridBagConstraints gbc, int x, int y, int w, int h) { gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = w; gbc.gridheight = h; p.add(c, gbc); } public void showNextRow() { if (null == rs) { return; } try { if (rs.next()) { for (int i = 1; i <= fields.size(); i++) { String field = rs.getString(i); JTextField tb = (JTextField) fields.get(i - 1); tb.setText(field); } } else { rs.close(); rs = null; } } catch (Exception ex) { System.out.println("Error:" + ex); } } public void actionPerformed(ActionEvent evt) { if (evt.getSource() == nextButton) { showNextRow(); } else if (evt.getSource() == tableNames) { this.remove(dataPanel); dataPanel = new JPanel(); fields.clear(); dataPanel.setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.weighty = 100; try { String tableName = (String) tableNames.getSelectedItem(); if (null != rs) { rs.close(); } rs = stmt.executeQuery("select * from " + tableName); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnLabel(i); int columnWidth = rsmd.getColumnDisplaySize(i); JTextField tb = new JTextField(columnWidth); fields.add(tb); gbc.weightx = 0; gbc.anchor = GridBagConstraints.EAST; gbc.fill = GridBagConstraints.NONE; this.add(dataPanel, new JLabel(columnName), gbc, 0, i - 1, 1, 1); gbc.weightx = 100; gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.HORIZONTAL; this.add(dataPanel, tb, gbc, 1, i - 1, 1, 1); } } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex); } this.getContentPane().add(dataPanel, "Center"); this.doLayout(); this.pack(); showNextRow(); } } public WatchDBFrame() { this.setTitle("查看数据"); this.setSize(300, 200); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); Container contentPane = this.getContentPane(); tableNames = new JComboBox(); tableNames.addActionListener(this); dataPanel = new JPanel(); contentPane.add(dataPanel, "Center"); nextButton = new JButton("Next"); nextButton.addActionListener(this); JPanel p = new JPanel(); p.add(nextButton); contentPane.add(p, "South"); fields = new ArrayList(); try { con = getConnectin(); stmt = con.createStatement(); md = con.getMetaData(); ResultSet rs = md.getTables(null, null, null, null); while (rs.next()) { String tableName = rs.getString(3); if ("User".equals(tableName) || "Customer".equals(tableName)) { tableNames.addItem(tableName); } } rs.close(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex); } contentPane.add(tableNames, "North"); } }
三. JDBC连接Access实例(基于Servlet与Jsp)
1. DBServlet.java
package com.test.db; import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class DBServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } public void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Properties properties=new Properties(); String path="C:\\CreateDB.properties"; FileInputStream in=new FileInputStream(path); properties.load(in); String driverClass=properties.getProperty("jdbc.drivers"); if(driverClass!=null){ try{ Class.forName(driverClass); }catch(Exception ex){ System.out.println("驱动类没有发现"); } } String url=properties.getProperty("jdbc.url"); try { Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String command="select * from User"; ResultSet rs=stmt.executeQuery(command); ArrayList<Users> dbList=new ArrayList<Users>(); Users user=null; while(rs.next()){ user=new Users(); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); user.setWww(rs.getString("www")); user.setTel(rs.getString("tel")); user.setAddress(rs.getString("address")); user.setPostcode(rs.getString("postcode")); dbList.add(user); } request.setAttribute("dbList", dbList); } catch (Exception e) { e.printStackTrace(); } request.getRequestDispatcher("/showDB.jsp").forward(request, response); } }
2. showDB.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.ArrayList,com.test.db.Users" %> <% ArrayList<Users> dbList=(ArrayList<Users>)request.getAttribute("dbList"); %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table> <tr> <td align="center">用户名</td> <td align="center">密码</td> <td align="center">邮箱</td> <td align="center">主页</td> <td align="center">电话</td> <td align="center">地址</td> <td align="center">邮编</td> </tr> <% for(int i=0;i<dbList.size();i++){ Users user=dbList.get(i); %> <tr> <td align="center"><%=user.getName() %></td> <td align="center"><%=user.getPassword() %></td> <td align="center"><%=user.getEmail() %></td> <td align="center"><%=user.getWww() %></td> <td align="center"><%=user.getTel() %></td> <td align="center"><%=user.getAddress() %></td> <td align="center"><%=user.getPostcode() %></td> </tr> <% } %> </table> </body> </html>
发表评论
-
struts2.1改变配置文件默认位置
2011-03-31 14:01 798<filter> <init-par ... -
整合SSH2时需注意几点
2010-12-10 16:35 8571.需要导入struts2-spring-plugin-2.1 ... -
ssh2
2010-11-11 13:56 1867准备条件: 1. 建WEB工程:ssh2 2. 建数据库ssh ... -
spring整合hibernate
2010-11-08 08:59 854准备条件: 1. 创建数据库hibernatespring,表 ... -
代理模式
2010-11-08 08:58 858一. 静态代理 1. Subject.java packa ... -
单例模式
2010-11-08 08:57 6711. Singleton.java package com ... -
spring整合struts2
2010-11-08 08:56 742前言: 1. 创建工程strutsspring 2. 导入st ... -
反射案例
2010-11-08 08:56 715案例一: 1. Test.java package com ... -
spring配置文件中集合类型的配置
2010-11-08 08:54 961前言: Spring中对于有些bean会有集合类型的属性,以下 ... -
spring用到的设计模式-工厂模式
2010-11-08 08:53 1262Spring用到的设计模式之一 核心:用到工厂设计模式 1. ... -
读取applicationContext.xml的两种方式
2010-11-08 08:52 963第一种: ClassPathResource cpr=ne ... -
用图形查看spring配置文件依赖关系
2010-11-08 08:51 957myeclipse提供了这样的功能: window->s ... -
spring的基本操作IOC
2010-11-08 08:51 745前言: Spring通过IOC/DI来实现获取对象 准备: 1 ... -
spring的基本操作-反射
2010-11-08 08:50 1116前言: Spring通过反射来实现获取对象 准备: 1. 建S ... -
Struts2整合Hibernate
2010-10-29 19:00 20281. 准备条件: 1.1 在MYSQL中创建hibernate ... -
hibernate级联操作
2010-10-29 18:59 906准备条件: 1. 创建hibernate3工程 2. 导入hi ... -
hibernate基本操作
2010-10-29 18:58 7581.准备条件: 1.1 创建hibernate2工程 1.2 ... -
文件上传
2010-10-26 14:49 6961. upload.jsp <%@ page lan ... -
调用指定Action的方法
2010-10-26 14:48 769主要在配置文件中配置下: 注:如应用于增删改查的类 1. st ... -
I18N
2010-10-26 14:47 820一, 查看当前操作系统中可用的语言 package com ...
相关推荐
《深入理解JDBC Driver 3.0:聚焦SQL Server JDBC》 在IT行业中,数据库连接是应用程序与数据存储之间的桥梁,而JDBC(Java Database Connectivity)则是Java平台中用于访问数据库的标准API。JDBC Driver 3.0是针对...
SQL Server驱动包是用于Java应用程序通过JDBC(Java Database Connectivity)接口与Microsoft SQL Server数据库进行交互的必备组件。本文将详细介绍这两个重要的驱动文件——sqljdbc.jar和sqljdbc4.jar,以及如何...
SQLJDBC和SQLJDBC4是Microsoft为Java应用程序提供的用于连接SQL Server数据库的驱动程序。这两个版本都是JDBC(Java Database Connectivity)驱动,允许Java开发者在应用程序中与SQL Server进行交互。下面将详细介绍...
Spring Data JDBC与JDBC是两种不同的数据库访问方式,它们在Java开发中有着广泛的应用。JDBC(Java Database Connectivity)是Java平台的标准API,用于与各种数据库进行交互。它提供了低级别的数据库操作,如建立...
mysql jdbc 驱动 适用于5.6版本及以下数据库 mysql jdbc 驱动 适用于5.6版本及以下数据库 mysql jdbc 驱动 适用于5.6版本及以下数据库 mysql jdbc 驱动 适用于5.6版本及以下数据库 mysql jdbc 驱动 适用于5.6版本及...
mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上...
在Java编程语言中,JDBC(Java Database Connectivity)是一个核心的API,用于连接Java应用程序与各种类型的数据库。这里我们关注的是两个特定版本的Microsoft SQL Server的JDBC驱动:sqljdbc41.jar和sqljdbc42.jar...
在给定的压缩包文件中,包含了三个不同版本的达梦JDBC驱动,分别是Dm7JdbcDriver16.jar、Dm7JdbcDriver17.jar和Dm7JdbcDriver18.jar。 1. **JDBC驱动介绍**: JDBC是Java中用于与各种数据库进行交互的标准接口,它...
sqljdbc.jar 类库提供对 JDBC 3.0 的支持。 sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。 注意: JDBC Driver 2.0 不支持 JRE 1.4。...
SQL Server 2000 JDBC 是Java编程语言与Microsoft SQL Server 2000数据库进行交互的一种重要方式。JDBC(Java Database Connectivity)是Java API,允许Java应用程序通过Java虚拟机(JVM)与各种数据库建立连接。在...
标题 "Access_JDBC30" 暗示了这是一个与Microsoft Access数据库相关的Java JDBC驱动程序。JDBC(Java Database Connectivity)是Java编程语言中用于连接和操作数据库的标准接口。这个jar包,"Access_JDBC30.jar",...
KingbaseV8 JDBC驱动是连接KingbaseV8数据库的重要组件,允许Java应用程序通过JDBC(Java Database Connectivity)接口与数据库进行交互。JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了...
在IT行业中,数据库是至关重要的组成部分,而SQL Server作为一款广泛应用的关系型数据库管理系统,它的连接与操作离不开JDBC(Java Database Connectivity)驱动。本篇将详细介绍如何下载和安装sqljdbc4,这是...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它提供了一种标准化的方法,让程序员可以使用SQL语句访问数据库,而无需关心具体的数据库实现细节。在Java应用...
Access的JDBC驱动是Java数据库连接(Java Database Connectivity, JDBC)的一种实现,它允许Java程序与Microsoft Access数据库进行交互。在JDK 1.8之后,Oracle公司不再默认提供对ODBC(Open Database Connectivity...
标题中的"sqljdbc4.jar, sqljdbc41.jar, sqljdbc42.jar"是指Microsoft SQL Server为Java应用程序提供的Java Database Connectivity (JDBC)驱动程序。这些JAR文件是数据库连接的关键,允许Java代码与SQL Server进行...
`sqljdbc`是Microsoft提供的一个驱动程序,使得Java应用程序能够与SQL Server数据库进行交互。在这个场景中,我们关注的是`sqljdbc 3.0`和`4.0`版本,这两个版本都是专门为Java设计的,用于连接SQL Server 2000。 `...
标题中的"sqljdbc42.jar、sqljdbc41.jar 更新日期2017-12-21"指的是Microsoft SQL Server的Java Database Connectivity (JDBC) 驱动的两个不同版本,它们分别对应于Java SE 7和Java SE 8的兼容性。JDBC驱动是Java...