Java 数据库连接
- 格式:docx
- 大小:13.50 KB
- 文档页数:5
Java中的数据访问框架有哪些Java作为一种强大而且广泛使用的编程语言,在企业级应用开发中扮演着重要的角色。
在Java开发中,数据访问框架是非常重要的组成部分,它们提供了方便、高效、可扩展的数据管理方式。
本文将介绍几个常用的Java数据访问框架。
一、JDBC(Java数据库连接)JDBC是Java语言中用于与数据库进行通信的API。
它为开发者提供了一种标准的方法来访问各种数据库,从而实现数据的存取和管理。
JDBC是Java数据访问框架的基础,其他的框架大多是在JDBC之上进行了封装和扩展。
二、HibernateHibernate是一个开源的对象关系映射框架,它提供了一种将Java对象与数据库中的表进行映射的方式。
通过Hibernate,开发者可以使用面向对象的方式来操作数据库,而不需要编写复杂的SQL语句。
Hibernate还提供了缓存、事务管理等功能,提高了应用程序的性能和可靠性。
三、MyBatisMyBatis是另一个流行的Java数据访问框架,它也是一个开源项目。
MyBatis通过将数据库操作语句与Java代码进行解耦,使得开发者可以更加灵活地控制SQL语句的执行。
MyBatis支持动态SQL、自动映射等特性,使得开发者可以更方便地编写和维护数据库相关的代码。
四、Spring DataSpring Data是Spring框架的一个子项目,旨在简化数据访问的开发。
它通过提供统一的编程模型,屏蔽底层数据访问细节,使得开发者可以更加专注于业务逻辑的实现。
Spring Data支持多种数据访问技术,如JPA、MongoDB等,开发者可以根据需求选择合适的技术进行开发。
五、JPA(Java持久化API)JPA是Java EE中的一种数据访问标准,它提供了一种将Java对象映射到关系数据库中的持久化方式。
JPA通过注解或XML配置,描述了Java对象与数据库表之间的映射关系,使得开发者可以使用面向对象的方式进行数据访问。
几种常见的数据库连接方法数据库连接是应用程序与数据库之间进行通信的重要步骤。
下面将介绍几种常见的数据库连接方法。
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的jdbc连接数据库,读取表中数据连接数据库操作步骤如下1. 架包 jar2. 建表3. 源码解析1:架包 jar根据⾃⼰本版本选择正确jar包,本例采⽤maven 管理局,在pom.xml 中添加如下代码,⾃动下载架包<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.25</version></dependency>2:建表DROP TABLE IF EXISTS `tb_user`;CREATE TABLE `tb_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(20) DEFAULT NULL,`password` varchar(20) DEFAULT NULL,`head_root` varchar(80) DEFAULT NULL,`realname` varchar(10) DEFAULT NULL,`netname` varchar(20) DEFAULT NULL,`email` varchar(20) DEFAULT NULL,`age` int(10) DEFAULT NULL,`sex` varchar(2) DEFAULT NULL,`birth_year` int(10) DEFAULT NULL,`birth_month` int(10) DEFAULT NULL,`birth_day` int(10) DEFAULT NULL,`addressid` int(11) DEFAULT NULL COMMENT '地址详细信息',`tall` double(11,0) DEFAULT NULL,`user_grade` varchar(10) DEFAULT NULL,`income` double(20,0) DEFAULT NULL,`marry` varchar(5) DEFAULT NULL,`marrySex` varchar(2) DEFAULT NULL,`gexingmsg` varchar(80) DEFAULT NULL,`vip` int(10) DEFAULT NULL,`money` int(11) DEFAULT NULL,`renzheng` varchar(10) DEFAULT NULL,`fenlei` varchar(10) DEFAULT NULL,`biaoqian` int(11) DEFAULT NULL,`user_black` int(11) DEFAULT NULL,`user_youhui` int(11) DEFAULT NULL,`user_work` varchar(10) DEFAULT NULL,`user_home` int(11) DEFAULT NULL,`user_car` int(11) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=31DEFAULT CHARSET=utf8;3:源码import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;/*** @author Evan**/public class JDBCTest {public static void main(String[] args) throws Exception {Connection connection = null;PreparedStatement prepareStatement = null;ResultSet rs = null;try {// 加载驱动Class.forName("com.mysql.jdbc.Driver");// 获取连接String url = "jdbc:mysql://127.0.0.1:3306/test";String user = "root";String password = "asplover";connection = DriverManager.getConnection(url, user, password);// 获取statement,preparedStatementString sql = "select * from tb_user where id=?";prepareStatement = connection.prepareStatement(sql);// 设置参数prepareStatement.setLong(1, 1);// 执⾏查询rs = prepareStatement.executeQuery();// 处理结果集while (rs.next()) {System.out.println("⽤户名:"+rs.getString("userName"));System.out.println("密码为:"+rs.getString("password"));}} finally {// 关闭连接,释放资源if (rs != null) {rs.close();}if (prepareStatement != null) {prepareStatement.close();}if (connection != null) {connection.close();}}}}。
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();}。
1.在JDBC中,用于连接数据库的接口是什么?o A. PreparedStatemento B. DriverManagero C. ResultSeto D. Connection答案:D解析:在JDBC中,Connection接口用于表示与数据库的连接。
2.下列哪个类用于处理SQL语句的执行结果?o A. Statemento B. ResultSeto C. Connectiono D. Driver答案:B解析:ResultSet类用于处理执行SQL语句的结果集。
3.JDBC中,用于执行SQL语句的类是?o A. Connectiono B. PreparedStatemento C. ResultSeto D. DriverManager答案:B解析:PreparedStatement类用于执行预编译的SQL语句,Statement类则用于执行简单的SQL语句。
4.要使用JDBC连接数据库,哪个方法用于加载JDBC驱动?o A. Connection.getConnection()o B. DriverManager.getDriver()o C. Class.forName()o D. PreparedStatement.prepareStatement()答案:C解析:Class.forName()用于加载JDBC驱动,这是在连接数据库前必须要执行的步骤。
5.下面哪个选项不是PreparedStatement相对于Statement的优点?o A. 预编译SQL语句提高执行效率o B. 处理结果集更灵活o C. 防止SQL注入o D. 设置参数更方便答案:B解析:PreparedStatement在性能、安全性和参数设置上优于Statement,但两者处理结果集的能力基本相同。
6.JDBC中的DriverManager类的哪个方法用于建立数据库连接?o A. getConnection()o B. getDriver()o C. registerDriver()o D. setLoginTimeout()答案:A解析:getConnection()方法用于根据给定的数据库URL、用户名和密码建立数据库连接。
java连接数据库语句在Java中,可以使用JDBC(Java Database Connectivity)来连接和操作数据库。
下面是连接数据库的常见语句示例:1. 加载数据库驱动:```javaClass.forName("com.mysql.jdbc.Driver");```2. 建立数据库连接:```javaString url = "jdbc:mysql://localhost:3306/mydatabase";String username = "root";String password = "password";Connection connection = DriverManager.getConnection(url, username, password);```其中,url是数据库的地址,username和password是登录数据库的用户名和密码。
3. 执行SQL查询或更新:```javaStatement statement = connection.createStatement();String sql = "SELECT * FROM mytable";ResultSet resultSet = statement.executeQuery(sql);``````javaString sql = "INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2')";int rowsAffected = statement.executeUpdate(sql);```4. 处理结果集:```javawhile (resultSet.next()) {String column1 = resultSet.getString("column1");String column2 = resultSet.getString("column2");// 处理每一行数据}```5. 关闭数据库连接:```javaresultSet.close();statement.close();connection.close();```以上是连接和操作数据库的基本语句示例,具体的语句会根据使用的数据库类型、需要执行的SQL语句和具体业务需求进行调整。
JAVA使用JDBC连接数据库的几种方式JDBC(Java Database Connectivity)是Java编程语言用于连接数据库的一种标准API。
它提供了一种访问和操作不同类型数据库的方法。
在JDBC中,有几种不同的方式可以连接数据库。
下面是常见的几种方式以及它们的详细介绍。
1.使用JDBC驱动程序连接数据库2. DriverManager类连接数据库DriverManager是一个Java类,用于管理JDBC驱动程序。
它提供了一种简单的方法来注册和获取特定驱动程序的连接。
使用DriverManager 连接数据库时,首先需要加载驱动程序,并使用驱动程序的URL、用户名和密码创建连接。
然后可以使用这个连接执行SQL查询和更新操作。
3. DataSource接口连接数据库DataSource是一个接口,用于从数据库连接池获取连接。
连接池是一组预先创建的数据库连接,可以重复使用,从而提高应用程序的性能。
通过使用DataSource接口,可以通过配置连接池的方式来连接和管理数据库连接。
这种方式通常适用于大型应用程序或需要高并发连接的场景。
4. 使用JNDI(Java Naming and Directory Interface)连接数据库JNDI是Java提供的一种用于在Java应用程序中查找和访问命名服务的API。
通过使用JNDI,可以在应用程序中配置数据库连接信息,并使用统一的方式访问数据库。
这种方式通常适用于企业级应用程序,其中数据库连接信息可以统一管理。
5.使用第三方库连接数据库除了使用JDBC标准API连接数据库,还可以使用一些第三方库来简化数据库访问。
例如,Hibernate是一个流行的Java持久化框架,它提供了一种简单的方式来与数据库进行交互。
使用Hibernate,可以通过简单的配置来连接和管理数据库。
总结:上述是几种使用JDBC连接数据库的方式。
每种方式都有自己的优势和适用场景。
Java连接mysql数据库一.软件下载Mysql下载版本:4.1.11/downloads/mysql/4.1.htmlJDBC驱动下载版本:3.1.8/downloads/connector/j/3.1.htmlMysql界面插件:mysql-front下载版本镜像:HongKong(我下回来安装就是中文版了)http://www.mysqlfront.de/download.html二.软件安装打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:mysql安装向导启动,按“Next”继续选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom (用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。
在上面的“MySQL Server (mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation (文档)”也如此操作,以保证安装所有文件。
点选“Change...”,手动指定安装目录。
填上安装目录,我的是“F:\Server\MySQL\MySQL Server 5.0”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。
按“OK”继续。
返回刚才的界面,按“Next”继续。
确认一下先前的设置,如果有误,按“Back”返回重做。
按“Install”开始安装。
正在安装中,请稍候,直到出现下面的界面这里是询问你是否要注册一个的账号,或是使用已有的账号登陆,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。
数据连接Java实验报告引言Java作为一种通用的编程语言,提供了丰富的API来处理各种类型的数据。
在这个实验中,我们将学习如何使用Java连接数据库,执行SQL查询和更新操作。
我们将使用Java的JDBC(Java Database Connectivity)API来实现这个功能。
实验目标1. 理解JDBC的基本原理和概念2. 掌握Java连接数据库的方法3. 学会使用Java执行SQL查询和更新操作实验环境- 操作系统:Windows 10- JDK版本:Java SE 8- 数据库:MySQL实验步骤1. 安装数据库:首先,我们需要安装一个数据库作为我们的数据存储和操作的对象。
在这个实验中,我们将使用MySQL作为我们的数据库。
2. 导入JDBC驱动:在Java程序中连接数据库的第一步是导入相应的JDBC驱动。
在这个实验中,我们将使用MySQL提供的官方JDBC驱动。
我们需要从MySQL官方网站上下载并导入这个驱动。
3. 连接数据库:使用JDBC,我们可以通过创建一个`Connection`对象来连接到数据库。
首先,我们需要指定数据库的URL,用户名和密码。
然后,我们可以使用`DriverManager`的`getConnection()`方法来创建一个连接。
4. 执行SQL查询:一旦我们连接到数据库,我们就可以执行SQL查询了。
我们可以使用`Statement`或`PreparedStatement`对象来执行查询。
使用`Statement`对象时,我们需要手动拼接SQL语句;而使用`PreparedStatement`对象时,我们可以使用参数化查询来避免SQL注入的风险。
5. 处理查询结果:当我们执行一个SQL查询后,我们将获得一个`ResultSet`对象来存储查询结果。
我们可以使用`ResultSet`对象的方法来遍历和获取查询结果。
6. 执行SQL更新操作:除了查询操作,我们还可以执行SQL更新操作,如插入、更新和删除。
Java数据库连接池的原理与应用Java数据库连接池是管理在应用程序和数据库之间的连接的一种技术,它提供了一组API来管理数据库连接。
数据库连接池可以显著提高Web应用程序的性能、可伸缩性和稳定性。
连接池是一个保存连接对象,只需初始化一次并重复使用的对象集合。
与每个连接请求创建和关闭连接的一般方式不同,此模式在应用程序中启动时创建池,并在应用程序关闭时销毁池。
而连接池管理的连接对象是活动的数据库连接,它们可以像普通的数据库连接对象一样进行用于执行事务、查询等一系列数据库操作。
连接池在创建对象之前检查池中是否有可用对象,如果有,则返回可用的连接对象,否则创建一个新的连接对象并将其添加到池中。
连接池还允许开发人员最大程度地使用可用的资源,因为它们不用每次请求都创建一个新的连接对象。
Java应用程序中连接到数据库的最基本方法是执行JDBC连接。
JDBC在连接到数据库时,用户必须手动访问数据库接口并执行所有的连接和关闭连接。
这种方式会导致异步问题,因此开发人员可以使用连接池来管理连接。
使用连接池可以有效地提取一些经常性的数据库连接开销,例如TCP协议的应用程序和SQL查询引擎的协议之间的握手和身份验证。
该结构允许开发人员保证整个系统所使用的连接个数是可控的,而不必干扰应用程序的性能。
在Java中,人们可以使用ognl实现连接池的功能,而数据库连接池也是连接池的一种。
Java数据库连接池允许开发人员动态处理对象,因此他们能够更改连接池的大小、闲置连接的最大数目与等等。
总体而言,Java的数据库连接池可以显著提高应用程序运行的结果,提供数据连接的稳定性。
这一技术在Web应用程序中得到了广泛的应用,其原因是它所提供的连接对象的可重用性和作为整个系统资源的合理利用性可以大大提高应用程序的性能并降低成本。
Java连接Oracle数据库常用方法在Java中连接Oracle数据库有多种方法,下面是几种常用的方法。
1. 使用JDBC连接Oracle数据库```javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class OracleConnectionpublic static void main(String[] args)Connection connection = null;try//加载JDBC驱动程序Class.forName("oracle.jdbc.OracleDriver");//创建数据库连接String username = "username";String password = "password";connection = DriverManager.getConnection(url, username, password);//在此处执行SQL语句或其他操作} catch (ClassNotFoundException e) e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;} finally//关闭数据库连接tryif (connection != null) connection.close(;}} catch (SQLException e)e.printStackTrace(;}}}``````javaimport java.sql.Connection;import java.sql.SQLException;import java.util.Properties;public class OracleConnectionPoolpublic static void main(String[] args)BasicDataSource dataSource = null;Connection connection = null;try//创建连接池Properties properties = new Properties(;properties.setProperty("driverClassName", "oracle.jdbc.OracleDriver");properties.setProperty("username", "username");properties.setProperty("password", "password");dataSource =BasicDataSourceFactory.createDataSource(properties);//从连接池中获取连接connection = dataSource.getConnection(;//在此处执行SQL语句或其他操作} catch (Exception e)e.printStackTrace(;} finally//关闭连接tryif (connection != null) connection.close(;}} catch (SQLException e) e.printStackTrace(;}//关闭连接池if (dataSource != null) trydataSource.close(;} catch (SQLException e) e.printStackTrace(;}}}}```3. 使用Spring的JdbcTemplateSpring的JdbcTemplate是一个简化数据库访问的工具类,可以更方便地执行SQL语句。
Java中⼏种常⽤数据库连接池的使⽤⽬录⼀、应⽤程序直接获取数据库连接的缺点⼆、使⽤数据库连接池优化程序性能2.1、数据库连接池的基本概念2.2、编写数据库连接池三、开源数据库连接池3.1、DBCP数据源3.2、在应⽤程序中加⼊dbcp连接池3.3、C3P0数据源(重点)四、Tomcat中配置数据库源4.1、JNDI技术简介4.2、配置Tomcat数据源包结构:注意了:有个问题坑了我⼀天具体请看:tomcat虚拟路径的配置⼀、应⽤程序直接获取数据库连接的缺点 ⽤户每次请求都需要向数据库获得链接,⽽数据库创建连接通常需要消耗相对较⼤的资源,创建时间也较长。
假设⽹站⼀天10万访问量,数据库服务器就需要创建10万次连接,极⼤的浪费数据库的资源,并且极易造成数据库服务器内存溢出、拓机。
如下图所⽰:⼆、使⽤数据库连接池优化程序性能2.1、数据库连接池的基本概念 数据库连接是⼀种关键的有限的昂贵的资源,这⼀点在多⽤户的⽹页应⽤程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应⽤程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正式针对这个问题提出来的.数据库连接池负责分配,管理和释放数据库连接,它允许应⽤程序重复使⽤⼀个现有的数据库连接,⽽不是重新建⽴⼀个。
如下图所⽰:数据库连接池在初始化时将创建⼀定数量的数据库连接放到连接池中, 这些数据库连接的数量是由最⼩数据库连接数来设定的.⽆论这些数据库连接是否被使⽤,连接池都将⼀直保证⾄少拥有这么多的连接数量.连接池的最⼤数据库连接数量限定了这个连接池能占有的最⼤连接数,当应⽤程序向连接池请求的连接数超过最⼤连接数量时,这些请求将被加⼊到等待队列中.数据库连接池的最⼩连接数和最⼤连接数的设置要考虑到以下⼏个因素:最⼩连接数:是连接池⼀直保持的数据库连接,所以如果应⽤程序对数据库连接的使⽤量不⼤,将会有⼤量的数据库连接资源被浪费.最⼤连接数:是连接池能申请的最⼤连接数,如果数据库连接请求超过次数,后⾯的数据库连接请求将被加⼊到等待队列中,这会影响以后的数据库操作如果最⼩连接数与最⼤连接数相差很⼤:那么最先连接请求将会获利,之后超过最⼩连接数量的连接请求等价于建⽴⼀个新的数据库连接.不过,这些⼤于最⼩连接数的数据库连接在使⽤完不会马上被释放,他将被放到连接池中等待重复使⽤或是空间超时后被释放.2.2、编写数据库连接池 编写连接池需实现java.sql.DataSource接⼝。
JAVA与SQLServer数据库连接的两种方式一.jdbc-odbc桥方式1.1 建立ODBC数据源:设置——〉控制面板——〉管理工具——〉数据源(ODBC)——〉系统DSN ——〉添加——〉选择SQLServer驱动——>填写数据源名字——〉选择服务器——〉选择登陆方式(默认使用windows NT验证)——〉更改默认数据库为所有数据库——〉完成测试成功则建立完毕。
1.2 导入包:import java.sql.*;1.3 装载驱动:DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());或者:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");第一种方式比较常用,也容易理解;1.4 建立连接:Connection con = DriverManager.getConnection("jdbc:odbc:xx");其中xx是1.1建立的数据源名字,如果建立的数据源选择的windowsNT验证方式,则上面语句即可;如果1.1所建立的数据源登陆方式选择的是SQL用户验证,则这里要写成:Connection con = DriverManager.getConnection("jdbc:odbc:xx","用户名","密码");其中的"用户名","密码"分别是SQLServer所建立的“登陆”用户,并具有对所用库的操作权限;1.5 建立载体:Statement st = con.createStatement();1.6 发出数据请求:查询数据操作:ResultSet rs = st.executeQuery("select * from titles");该语句将sql语句传递给数据库并返回一个结果集rs,即查询结果放在rs对象中;更新数据操作:int count=st.executeUpdate("update USERS set username='aaa' where id=3");所有对数据库进行的具有更新性质的操作(包含update,insert,delete等)都要调用这个方法,返回结果是一个整数,即该操作所影响的行数;1.7 处理结果集:rs.next()将结果集rs中的行指针向后移动一行,注意行指针最初在第一行之前,并没有指向第一行。
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用,将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC 之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
JDBCTM 是一种用于执行SQL 语句的JavaTM API,它由一组用Java 编程语言编写的类和接口组成。
JDBC 为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。
有了JDBC,向各种关系数据库发送SQL 语句就是一件很容易的事。
换言之,有了JDBC API,就不必为访问Sybase 数据库专门写一个程序,为访问Oracle 数据库又专门写一个程序,为访问Informix 数据库又写另一个程序,等等。
Java 数据库连接(数据库为bbs,数据源名为test)1、直接连接mysql数据库(先把mysql的驱动加载到工程中:选中工程:右键property---javabuildpath---libraries:再选择AddExternalJARS找到驱动存放位置把它加载进来)package dbLink;package dbLink;import java.sql.*;public class DataBaseConnection {public static Connection getConnection(){Connection conn = null;try {Class.forName("com.mysql.jdbc.Driver");conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","123");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeConnection(Connection conn){if(conn!=null)try {conn.close();} catch (SQLException e) {e.printStackTrace();}}public static void closeResultSet(ResultSet rs){if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}}public static void closePreparedStatment(PreparedStatement ps){if(ps!=null)try{ps.close();}catch(SQLException e){e.printStackTrace(); } }}2、通过数据源于mysql连接package dbLink;import java.sql.*;public static Connection getConnection(){Connection conn = null;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:test","root","123");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeConnection(Connection conn){if(conn!=null)try {conn.close();} catch (SQLException e) {e.printStackTrace();}}public static void closeResultSet(ResultSet rs){if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}}public static void closePreparedStatment(PreparedStatement ps){ if(ps!=null)try{ps.close();}catch(SQLException e){e.printStackTrace();}}}3、sqlserver直接连接数据库(先把sqlserver的驱动加载到工程中:选中工程:右键property---javabuildpath---libraries:再选择AddExternalJARS找到驱动存放位置把它加载进来)package dbLink;import java.sql.*;public class DataBaseConnection {public static Connection getConnection(){Connection conn = null;try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=bbs","sqls erver用户名","sqlserver用户密码");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} return conn;}public static void closeConnection(Connection conn){if(conn!=null)try {conn.close();} catch (SQLException e) {e.printStackTrace();}}public static void closeResultSet(ResultSet rs){if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}}public static void closePreparedStatment(PreparedStatement ps){if(ps!=null)try{ps.close();}catch(SQLException e){e.printStackTrace(); } }}4、sqlserver通过数据源连接数据库package dbLink;import java.sql.*;public class DataBaseConnection {public static Connection getConnection(){Connection conn = null;try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc.odbc.test","sqlserver用户名","sqlserver用户密码");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeConnection(Connection conn){if(conn!=null)try {conn.close();} catch (SQLException e) {e.printStackTrace();}}public static void closeResultSet(ResultSet rs){if(rs!=null)try{rs.close();}catch(SQLException e){e.printStackTrace();}}public static void closePreparedStatment(PreparedStatement ps){if(ps!=null)try{ps.close();}catch(SQLException e){e.printStackTrace(); } }}。