java数据库连接方法
JAVA界面程序设计和数据库连接

JA V A界面程序设计和数据库连接一、原理简介1. JAV A连接数据库的原理:使用JDBC(JA V A数据库连接)组件完成,JDBC在JA V A 程序和数据之间是一个桥梁作用。
JA V A通过JDBC向数据库发送SQL命令,数据库执行SQL命令后将结果通过JDBC返回给JAV A程序。
连接方法:JAV A程序《------》JDBC《------》Oracle Driver《------》Oracle数据库Oracle Driver: Oracle 数据库的驱动程序2.JDBC常用的接口:DriverManager:负责加载不同的驱动程序Statement:用来执行SQLResultSet:表示数据库的查询表(结果)3.连接过程(1)加载JDBC包(2)注册Oracle JDBC驱动程序(3)打开数据库连接(4)创建Statement对象(5)提交SQL语句(6)获得SQL执行的结果(8)关闭对象二、数据库连接案例程序功能介绍:从一个表login中查询表的每一个记录,并显示记录(每个记录的ID 和Password)。
(1)建立project,命名为conn(2)添加一个新的class文件,命名为conn(3)将下面的代码拷贝到程序编辑窗口import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.*;public class conn{public static void main(String[] args) {String sql = "";Connection conn = null;ResultSet rs;try {//注册驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");//连接数据库,这里连接远程的数据库服务器orcl,用户名stu06,密码swufe111conn =DriverManager.getConnection("jdbc:oracle:thin:@192.168.210.229:1521:o rcl","stu01","swufe111");//创建Statement对象Statement stmt= conn.createStatement();sql="select * from login ";//向Oracle数据库端提交SQL,并由Oracle数据库执行SQL,返回结果给rsrs=stmt.executeQuery(sql);//访问查询的数据集while(rs.next()){System.out.println("用户名:"+rs.getString(1)+"密码:"+rs.getString(2));}//关闭数据库的连接,防止连接泄露stmt.close();conn.close();} catch (ClassNotFoundException e) {//捕捉数据库驱动异常错误System.out.println("加载数据库驱动异常,请检查");} catch (SQLException e) {//捕捉sql执行错误System.out.println("执行数据库操作异常,SQL语句为:" + sql);System.out.println("异常错误是:" + e.toString());}}}(4)加载ojdbc14.jar包:->双击scr-default package ->选择build Path->config build path->ilibaries->Add External->Archives->选择ojdbc14.jar包(5)运行程序看看效果案例二:登陆程序(带用户界面的登陆程序import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.Color;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import java.sql.*;public class FormAdd extends JFrame implements ActionListener {private JLabel label1 = new JLabel("账号");private JLabel label2 = new JLabel("密码");private JLabel label3 = new JLabel("登录状态");private JTextField txtId = new JTextField(25);private JPasswordField txtPass = new JPasswordField(25);private JButton btnOK = new JButton("确定");private JButton btnCancel = new JButton("取消");FormAdd(){this.setSize(500,200);this.setTitle("登录界面");this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLayout(new FlowLayout(FlowLayout.CENTER,70,20));this.add(label1);this.add(txtId);this.add(label2);this.add(txtPass);this.add(btnOK);this.add(btnCancel);label3.setForeground(Color.RED);this.add(label3);btnOK.addActionListener(this);btnCancel.addActionListener(this);this.setVisible(true);}// @Overridepublic void actionPerformed(ActionEvent event) {if(event.getSource().equals(btnOK)){String sql = "";Connection conn = null;ResultSet rs;try {Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.210.229:1521:orcl","stu01","sw ufe111");Statement stmt = conn.createStatement();sql="select count(*) from login where id='"+txtId.getText()+"' and password='"+txtPass.getText()+"'";rs=stmt.executeQuery(sql);if(rs.next()){if(rs.getInt(1)!=0){label3.setText("登录成功");}else{label3.setText("登录失败");}}stmt.close();conn.close();} catch (ClassNotFoundException e) {System.out.println("加载数据库驱动异常,请检查");//e.printStackTrace();} catch (SQLException e) {System.out.println("执行数据库操作异常,SQL语句为:" + sql);System.out.println("异常错误是:" + e.toString());//e.printStackTrace();}}else{txtId.setText("");txtPass.setText("");}}public static void main(String[] args) {new FormAdd();}}。
几种常见的数据库连接方法

几种常见的数据库连接方法数据库连接是应用程序与数据库之间进行通信的重要步骤。
下面将介绍几种常见的数据库连接方法。
1.JDBC连接:Java数据库连接(JDBC)是一种用于在Java应用程序和数据库之间建立连接的API。
JDBC提供了一套标准的接口,通过该接口,开发人员可以使用Java编程语言轻松地与数据库进行交互。
JDBC连接需要提供数据库的连接信息,包括数据库的URL、用户名和密码。
通过JDBC,开发人员可以执行SQL语句并获取查询结果。
2.ODBC连接:开放数据库连接(ODBC)是一种通用的数据库连接API。
ODBC提供了一组标准函数,让开发人员可以使用不同的编程语言连接到数据库并执行SQL查询。
ODBC连接需要使用数据库的驱动程序来建立连接,并提供连接字符串、用户名和密码等信息。
ODBC连接可以用于多种数据库,包括MySQL、Oracle、Microsoft SQL Server等。
3.ADO连接:4.OLEDB连接:OLE DB是一种面向对象的数据库连接接口,它可以用于访问多种类型的数据源,包括关系型数据库、文本文件、Excel等。
OLE DB连接提供了一组类似于ADO的对象和方法,开发人员可以使用C++、C#等编程语言连接数据库。
OLE DB连接需要提供数据库的连接字符串、用户名和密码等信息。
5.ORM连接:对象关系映射(ORM)是一种将关系型数据库和面向对象编程语言进行映射的技术。
ORM连接使用ORM框架,如Hibernate、Entity Framework等,将数据库表映射为面向对象的类,开发人员可以使用面向对象的方式来访问数据库。
ORM连接需要提供数据库的连接信息,并使用对应的ORM框架来建立连接。
除了以上几种常见的数据库连接方法,还有一些特定数据库的连接方法,如MongoDB的驱动程序连接、Redis的客户端连接等。
这些连接方法根据数据库的特点和使用场景进行了优化和扩展,可以更好地满足各种需求。
Java连接oracle数据库方法

Java连接oracle数据库一、普通的连接数据库1、注册驱动Class.forName(“oracle.jdbc.driver.OracleDriver”);2、获取连接Connection conn=null;conn= DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:XE”,user,pa ssword);3、建立statementStatement stat=conn.createStatement();4、执行SQL语句stat.execute(“SQL语句”);5、处理结果集ResultSet rs=null;rs=stat.executeQuery(“SQL语句”);While(rs.next()){System.out.println(“id:”+rs.getInt(“id”)+”last_name”+getString(“l ast_name”));}6、关闭连接Rs.close();Stat.close();Conn.close();二、加载properties文件连接数据库并使用PreparedStatement --------------------首先准备xxx.properties文件---------------------user=xxxxxpassword=xxxxxxdriver=oracle.jdbc.driver.DriverOracleurl=jdbc:oracle:thin:@127.0.0.1:1521:XE--------------------------------------------------------------------------------1、创建properties实例对象Properties prop=new Properties();2、加载xxx.properties文件prop.load(new FileInputStream(“xxx.properties文件路径”));3、获取xxx.properties文件中的属性Class.forName(prop.getString(“driver”));conn=DriverManager.getConnetion(prop.getString(“url”,prop));4、创建PreparedStatement实例对象并执行语句String sql=“select*from table_name where id=?And last_name=?”;PreparedStatement ps=conn.preparedStatement(sql);ps.setInt(1,4);ps.setString(2,”nihao”);ps.execute();5、处理结果集ResultSet rs=null;rs=ps.executeQuery(“SQL语句”);While(rs.next()){System.out.println(“id:”+rs.getInt(“id”)+”last_name”+getString(“l ast_name”));}6、关闭连接rs.close();ps.close();Conn.close();三、DOM解析XML文件连接数据库--------------------首先准备xxx.xml文件---------------------<?xml version="1.0"encoding="UTF-8"?><PEOPLE><PERSON><className>oracle.jdbc.driver.OracleDriver</className><url>jdbc:oracle:thin:@127.0.0.1:1521:XE</url><user>user</user><password>xxx</password></PERSON></PEOPLE>-------------------------------------------------------------------------Connection conn=null;try{1、建立解析工厂,获取实例DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();2、创建文件解析器DocumentBuilder builder=factory.newDocumentBuilder();3、加载xml文件Document doc=builder.parse("xxx.xml文件路径");4、获取根节点NodeList nl=doc.getElementsByTagName("PEOPLE");Element node=(Element)nl.item(0);5、获取驱动StringclassName=node.getElementsByTagName("className").item(0).getFirstChild().get NodeValue();6、获取urlStringurl=node.getElementsByTagName("url").item(0).getFirstChild().getNodeValue();7、获取用户名Stringuser=node.getElementsByTagName("user").item(0).getFirstChild().getNodeValue();8、获取用户密码Stringpwd=node.getElementsByTagName("password").item(0).getFirstChild().getNodeValu e();9、注册驱动Class.forName(className);10、连接数据库conn=DriverManager.getConnection(url,user,pwd);}catch(Exception e){e.printStackTrace();}。
JAVA连接ORACLE数据库步骤

JAVA连接ORACLE数据库步骤Java是一种跨平台的编程语言,可以用于连接和操作各种类型的数据库,包括Oracle数据库。
连接Oracle数据库的步骤如下:3. 加载驱动:在Java程序中加载Oracle数据库的驱动程序。
可以使用Class.forName(方法来加载驱动,如下所示:```Class.forName("oracle.jdbc.OracleDriver");```4. 创建连接:使用DriverManager类中的getConnection(方法创建与Oracle数据库的连接。
在连接方法中,需要传递数据库的URL、用户名和密码等参数。
例如:```String username = "your-username";String password = "your-password";Connection conn = DriverManager.getConnection(url, username, password);```5. 执行SQL语句:通过创建的连接对象,可以执行各种SQL语句来对数据库进行操作。
可以使用Statement或PreparedStatement对象来执行SQL语句。
例如,查询所有的表格:```Statement stmt = conn.createStatement(;ResultSet rs = stmt.executeQuery("SELECT * FROM ALL_TABLES");while (rs.next()String tableName = rs.getString("TABLE_NAME");System.out.println(tableName);```6. 关闭连接:在完成对Oracle数据库的操作后,需要关闭连接以释放资源。
可以调用Connection对象的close(方法来关闭连接,如下所示:```conn.close(;```以上是连接Oracle数据库的基本步骤。
java常用的连接mongodb的方法

java常用的连接mongodb的方法在Java中连接MongoDB有很多方法,下面将介绍一些常用的方法。
1. 使用MongoClient连接MongoDB:MongoClient是MongoDB官方提供的Java连接驱动程序,可以用来连接MongoDB服务器。
以下是连接MongoDB的代码示例:```javapublic class MongoDBConnectionpublic static void main(String[] args)MongoClient mongoClient = new MongoClient(connectionString);MongoDatabase database = mongoClient.getDatabase("mydb");System.out.println("Connected to the database successfully");mongoClient.close(;}```2. 使用MongoClientOptions配置连接MongoDB:MongoClientOptions用于配置MongoClient的一些选项,例如连接池的最大连接数、连接超时时间等。
以下是连接MongoDB的代码示例:```javapublic class MongoDBConnectionpublic static void main(String[] args)MongoClientOptions options = MongoClientOptions.builder.connectionsPerHost(10).connectTimeout(5000).build(;MongoDatabase database = mongoClient.getDatabase("mydb");System.out.println("Connected to the database successfully");mongoClient.close(;}```3. 使用MongoClient连接MongoDB副本集:如果要连接MongoDB的副本集,需要使用MongoClient的另一个构造函数,并传入一个MongoClientURI。
Java操作Sqlite数据库-jdbc连接

Java操作Sqlite数据库-jdbc连接Java操作Sqlite数据库步骤:1. 导⼊Sqlite jdbc2. 编写jdbc连接代码public class OpSqliteDB {private static final String Class_Name = "org.sqlite.JDBC";private static final String DB_URL = "jdbc:sqlite:F:\\xxxdatabase.db";public static void main(String args[]) {// load the sqlite-JDBC driver using the current class loaderConnection connection = null;try {connection = createConnection();func1(connection);System.out.println("Success!");} catch (SQLException e) {System.err.println(e.getMessage());} catch(Exception e) {e.printStackTrace();} finally{try {if (connection != null)connection.close();} catch (SQLException e) {// connection close failed.System.err.println(e);}}}// 创建Sqlite数据库连接public static Connection createConnection() throws SQLException, ClassNotFoundException {Class.forName(Class_Name);return DriverManager.getConnection(DB_URL);}public static void func1(Connection connection) throws SQLException {Statement statement = connection.createStatement();Statement statement1 = connection.createStatement();statement.setQueryTimeout(30); // set timeout to 30 sec.// 执⾏查询语句ResultSet rs = statement.executeQuery("select * from table_name1");while (rs.next()) {String col1 = rs.getString("col1_name");String col2 = rs.getString("col2_name");System.out.println("col1 = " + col1 + " col2 = " + col2);System.out.println(location);// 执⾏插⼊语句操作statement1.executeUpdate("insert into table_name2(col2) values('" + col2_value + "')");// 执⾏更新语句statement1.executeUpdate("update table_name2 set 字段名1=" + 字段值1 + " where 字段名2='" + 字段值2 + "'"); }}查询语句:select*from表名where条件⼦句group by分组字句having ... order by排序⼦句如:select*from personselect*from person order by id descselect name from person group by name having count(*)>1分页SQL与mysql类似,下⾯SQL语句获取5条记录,跳过前⾯3条记录select*from Account limit 5 offset 3或者select*from Account limit 3,5插⼊语句:insert into表名(字段列表) values(值列表)如:insert into person(name, age) values(‘传智’,3)更新语句:update表名set字段名=值where条件⼦句如:update person set name=‘传智‘ where id=10删除语句:delete from表名where条件⼦句如:delete from person where id=10。
数据库连接三种方法

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

java 数据对接方法Java 数据对接方法1. 数据对接介绍数据对接是指不同系统之间进行数据传输和共享的过程。
在Java 中,我们可以使用多种方法实现数据对接,包括但不限于以下方法:•Java Socket:基于TCP/IP协议的套接字通信方式,可以实现实时数据传输和双向通信。
•Java URL:提供了一种简单的访问网页和资源的方法,可以处理HTTP请求和响应。
•Java HttpURLConnection:是Java中处理HTTP网络请求的基础类,提供了丰富的方法用于发送和接收HTTP请求和响应。
•Java Sockets与Java Server Sockets:分别用于实现客户端和服务器端的套接字通信,在局域网中可用于数据传输和通信。
•Java RMI(Remote Method Invocation):是一种支持在远程服务器上调用方法的Java API,可以实现分布式应用程序之间的数据传输。
•Java JMS(Java Message Service):Java消息服务,是一种用于在分布式系统中发送、接收消息的API,常用于异步通信。
2. Java SocketJava Socket是Java程序进行网络通信的基础类,它提供了一种简单而底层的方式来进行数据对接。
使用Java Socket可以实现客户端和服务器之间的双向通信,具体步骤如下:1.创建一个Socket对象,指定服务器的IP地址和端口号。
2.调用Socket对象的getOutputStream()方法获取输出流,用于向服务器发送数据。
3.调用Socket对象的getInputStream()方法获取输入流,用于从服务器接收数据。
4.使用输入流和输出流进行数据的读写操作。
5.使用完毕后,调用Socket对象的close()方法关闭连接。
3. Java URLJava URL类是Java提供的用于处理URL(Uniform Resource Locator)的类,可以用于访问网页和其他资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、问题引入在java程序中,需要访问数据库,做增删改查等相关操作。
如何访问数据库,做数据库的相关操作呢?二、Java连接数据库方法概述java.sql提供了一些接口和类,用于支持数据库增删改查等相关的操作。
该jar包定义了java访问各种不同数据库(mysql,oracle,sqlserver。
)的统一接口和标准。
同时,各个数据库厂商都提供了该jar包中定义的各个接口的实现类,用于具体实现本厂数据库的增删改查操作,即称之为“数据库驱动jdbc driver”。
例如mysql的数据库驱动为:com.mysql.jdbc.driver;oracle的数据库驱动为:oracle.jdbc.driver.oracledriver。
在java程序中访问数据库,做数据库连接时,可以采用两种方式:1、使用java.sql API利用该包提供的各种接口和类直接访问数据库。
例子:2、使用数据库连接池目前存在多个开源的java数据库连接池,这些连接池都是在java.sql基础上编写而成。
该连接池的解决的问题是:当使用java.sql中提供的api创建数据库连接时候,需要耗费很大的资源,要进行用户名密码数据库连接验证等,即耗费资源也耗费时间。
如果在程序中,每次需要访问数据库时候,都进行数据库连接,那么势必会造成性能低下;同时,如果用户失误忘记释放数据库连接,会导致资源的浪费等。
而数据库连接池就是解决该问题,通过管理连接池中的多个连接对象(connection),实现connection重复利用。
从而,大大提高了数据库连接方面的性能。
该连接池的功能是:负责创建,管理,释放,分配数据库连接即(connection)。
首先,负责创建相应数目的数据库连接对象(connection)对象,并存放到数据库连接池(connect pool)中。
当用户请求数据库连接时,该连接池负责分配某个处于空闲状态的数据库连接对象;当用户发出释放该数据库连接时,该连接池负责将该连接对象重新设置为空闲状态,以便被别的请求重复利用。
同时;数据库连接池负责检查(空闲时间>最大空闲时间)的数据库连接,并释放。
连接池主要参数介绍最小连接数:初始化时,系统将负责创建该数目的connection放入连接池中。
最大连接数:系统允许创建connection的最大数值。
当系统请求连接时候,且连接池中不存在空闲的连接:如果connection总数未超过最大连接数,那么连接池负责创建新的connection对象,并返回该对象;如果connection总数已经到达该最大连接数,那么连接池将用户请求转入等待队列。
三、常用的数据库连接池1、JNDI2、C3p03、Apache 的Jakarta DBCP4、BoneCP其中,sping框架依赖的第三方使用了c3p0和dbcp两种方式;而bonecp号称是速度最快的数据库连接池。
JNDI方式创建实现的datasource是真正实现了javax.sql.datasource;其他的三种方式都不是。
下面的列表,列出了几种方式的区别和不同:备注:以上几种方式的数据库连接池的配置参数大同小异,略有差别;其参数的配置,既可以通过配置文件的方式配置,也可以通过硬编码的方式配置。
四、分别列出几种连接池的编码例子(所有的例子均可以参考D:\work\qsyworkspace2\jdbctest项目)1、使用java.sql API直接访问数据库详细请参考javasql.java文件。
Class.forName("com.mysql.jdbc.Driver");String url="jdbc:mysql://localhost:3306/editortest";String user="root";String password="123456";Connection cn=DriverManager.getConnection(url, user, password);Statement st=cn.createStatement();String sql="select * from artical where id=1";ResultSet rs=st.executeQuery(sql);while(rs.next()){System.out.println("1:"+rs.getString(1));System.out.println("2:"+rs.getString(2));System.out.println("3:"+rs.getString(3));System.out.println("4:"+rs.getString(4));}2、使用JNDI方式这种方式,是由web服务器,实现了java.sql.datasource。
由web服务器负责初始化数据源,创建connection,分配,管理connection。
由于本身是由web服务器实现的功能,因此不需要在项目project中引入特别的jar包,但是需要在服务器的某些配置文件中增加相关的配置。
下面,以tomcat服务器为例,讲述这种方式的使用。
(1)、修改tomcat的conf下的context.xml文件,增加Resource的配置的支持。
(2)、由于数据源是由tomcat负责创建,所以需要的jdbc驱动应该放到tomcat的lib 路径下。
(3)、编写使用java代码,并放在tomcat环境下使用,如下:public void jnditest(){// TODO Auto-generated method stubtry {Context initcontext=new InitialContext();Context context=(Context)initcontext.lookup("java:comp/env");DataSourcedatasource=(DataSource)context.lookup("jdbc/editortest");Connection cn=datasource.getConnection();Statement st=cn.createStatement();String sql="select * from artical where id=1";ResultSet rs=st.executeQuery(sql);while(rs.next()){System.out.println("1:"+rs.getString(1));System.out.println("2:"+rs.getString(2));System.out.println("4:"+rs.getString(4));}} catch (NamingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}(4)、详情参考jndisql。
Java文件,以及index.jsp。
注意:该测试不能在main方法中测试;可以写一个jsp在tomcat环境中测试。
因为:java单元的环境是jdk;而jsp的环境却是tomcat;数据连接池是在tomcat中配置的,所以能正常运行的,但java测试的环境只有jdk,所以在引用数据连接池时就时出现找不到环境的错误。
使用环境:当使用weblogic或者websphere等高级的web服务器的时候,可以考虑使用这种方式提高性能。
3、使用C3p0方式C3P0是开源的数据库连接组件,支持创建数据库连接池,管理connection等功能。
使用该种方式做数据库连接时候,需要导入c3p0-0.9.1.2.jar。
同时,关于数据库连接的具体参数,例如:url,username,password,最小连接数,最大连接数。
等信息既可以在xml配置文件中配置,也可以通过程序编码方式创建。
Spring 支持c3p0的数据库连接池方式,因此在spring环境中使用时,支持在applicationcontext.xml 文件中配置。
另外,由于数据库连接池在整个project中针对某个数据库而言是单例的,所以,即使通过编码的方式创建,那么要保证其单实例特性。
如果存在多个,那么必然会导致性能低下。
下面,列出通过程序编码方式使用c3p0数据库连接池的方式。
ComboPooledDataSource ds = new ComboPooledDataSource();try {ds.setDriverClass("com.mysql.jdbc.Driver");ds.setJdbcUrl("jdbc:mysql://localhost:3306/editortest");ds.setUser("root");ds.setPassword("123456");ds.setMaxPoolSize(20);ds.setInitialPoolSize(10);ds.setMaxIdleTime(2000);Connection cn=ds.getConnection();Statement st=cn.createStatement();String sql="select * from artical where id=1";ResultSet rs=st.executeQuery(sql);while(rs.next()){System.out.println("2:"+rs.getString(2));System.out.println("3:"+rs.getString(3));System.out.println("4:"+rs.getString(4));}} catch (PropertyVetoException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}备注:通常使用方式,都是通过配置文件配置,几乎不会用到这种硬编码方式。