C# 连接MYsql数据库的方法

C# 连接MYsql数据库的方法
C# 连接MYsql数据库的方法

关于DBCP数据库连接池配置整理

1.简介 DBCP(DataBase Connection Pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是tomcat 使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。 dbcp提供了数据库连接池可以在spring,iBatis,hibernate中调用dbcp完成数据库连接,框架一般都提供了dbcp连接的方法; tomcat中也提供了dbcp的jndi设置方法,也可以不在框架中使用dbcp,单独使用dbcp 需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar 2.参数说明 翻译自https://www.360docs.net/doc/44820382.html,

这里可以开启PreparedStatements池. 当开启时, 将为每个连接创建一个statement 池,并且被下面方法创建的PreparedStatements将被缓存起来: ●public PreparedStatement prepareStatement(String sql) ●public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) 如果容许则可以使用下面的方式来获取底层连接: Connection conn = ds.getConnection(); Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate(); ... conn.close() 默认false不开启, 这是一个有潜在危险的功能, 不适当的编码会造成伤害.(关闭底层 连接或者在守护连接已经关闭的情况下继续使用它).请谨慎使用,并且仅当需要直接访问驱动的特定功能时使用. 注意: 不要关闭底层连接, 只能关闭前面的那个 如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. 这个机制在(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时被触发。 举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.在resultset中游历不被计算为被使用。 3.使用注意点

Java中连接MySql数据库的几种方法

JDBC Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。 JDBC的工作原理 JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。 JDBC的四种驱动 1.JDBC-ODBC Bridge JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图: 因为中间有个JDBC-ODBC,所以影响了执行效率。 配置ODBC数据源的方法如下(以Mysql为例): 第一步,打开控制面板—>管理工具--->数据源(ODBC) 选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加 第三步,选择Mysql的ODBC驱动,点击完成。 注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。安装步骤如下: ①.下载安装包,https://www.360docs.net/doc/44820382.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

hibernate配置数据库连接池的三种方法

?数据库连接池的概念(是什么,做什么用的,有什么好处) ?首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了。?以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放。如果频繁的数据库操作,就会导致性能很低。连接池的出现,为开发过程提供了一个很好的管理平台。当程序中需要建立数据库连接时,只须从内存中取一个来用而不用新建。同样,使用完毕后,只需放回内存即可。而连接的建立、断开都有连接池自身来管理。同时,我们还可以通过设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等等。通过使用连接池,将大大提高程序效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。 ?而Hibernate的出现把连接池的使用引入了一个新的利用方式,让你充分享受配置化给开发带来的便利。 1 C3P0 (以验证可用) 只需在hibernate.cfg.xml中加入 omdssd_admin omdssd_hskj jdbc:oracle:thin:@10.142.1.138:1521:omds oracle.jdbc.driver.OracleDriver org.hibernate.dialect.Oracle9Dialect true true oracle10g_112 org.hibernate.connection.C3P0ConnectionProvider 5 //连接池中数据库连接的最小数目 30 //连接池中数据库连接的最大数目 1800 //设定数据库连接的过期时间,以秒为单位 50 //可以被缓存的PreparedStatement实例的最大数目。缓存适量的PreparedStatement实例,能够大大提高Hibernate的性能。 120//在使数据库连接自动生效之前处于空闲状态的时间,以秒为单位

C#-连接MYSQL数据库的3种方法及示例

C# 连接MYSQL数据库的方法及示例 连接MYSQL数据库的方法及示例 方法一: using MySql.Data using MySql.Data.MySqlClient; 其他操作跟SQL是差不多,无非就是前缀变成MySql了. 补充: 下面是连接字符串,供参考. MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("Database='testdb';Data Source='localhost';User Id='db';Password='apple';charset='utf8'"); con.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = con; 使用MYSQL推出的MySQL Connector/Net is an https://www.360docs.net/doc/44820382.html, driver for MySQL 该组件为MYSQL为https://www.360docs.net/doc/44820382.html,访问MYSQL数据库设计的.NET访问组件。 安装完成该组件后,引用命名空间MySql.Data.MySqlClient; 使用命令行编译时:csc /r:MySql.Data.dll test.cs 方法二: 通过ODBC访问MYSQL数据库 访问前要先下载两个组件:https://www.360docs.net/doc/44820382.html,和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版 安装完成后,即可通过ODBC访问MYSQL数据库 方法三: 使用CoreLab推出的MYSQL访问组件,面向.NET 安装完成后,引用命名空间:CoreLab.MySql; 使用命令编译时:csc /r:CoreLab.MySql.dll test.cs 以下为访问MYSQL数据库实例 编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs using System; using https://www.360docs.net/doc/44820382.html,; using System.Text; using CoreLab.MySql; using System.Data.Odbc; using MySql.Data.MySqlClient; class ConnectMySql {

数据库基本知识(自己整理,初学者可以看一下,基于某MySql)

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

01关于数据库连接池和动态数据源的实现课案

关于数据库连接池和动态数据源的实现、使用 对于一个简单的数据库应用,由于数据库的访问不是很频繁。这时可以很简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样就不会带来更多的性能上的开销。但是对于复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。这就意味我们需要去考虑怎样把一个连接多次使用。 连接复用,通过建立数据库的连接池以及一套连接使用的管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭给系统带来的开销。外部使用者可以通过getConnection方法获取连接,使用完毕之后再通过releaseConnection 方法将连接返回,注意此时的连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。 一般的数据库连接池,是使用配置文件在项目启动的使用加载配置文件,根据文件中描述,生成对应的数据库连接池。连接池有许多的属性比如:连接池的初始化连接处、连接池的最大连接数、每次的自增连接数、最大空闲连接数等等 数据库连接池技术带来的优势: 1.资源重用 由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减 少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以 及数据库临时进程/线程的数量) 2.更快的系统响应速度 数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用,此 时连接的初始化工作均已完成,对于业务处理而言,直接利用现有的可以连接,避 免了数据库连接初始化和释放过程的时间开销,从而缩短了系统整体的响应时间。 3. 统一的连接管理,避免数据库连接泄露 在较为完备的数据库连接池实现中可以根据预先的连接占用超时设定,强制回收被 占用的连接。从而避免常规数据库连接操作中可能出现的资源泄露。 一个数据库连接池的实现 1.前言 数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接(Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。 在基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(Application Server)的提供。下面以JDBC规范为基础,介绍相关的数据库连接池机制,并就如果以简单的方式,实现有效地管理数据库资源介绍相关实现技术。

Crystal Reports(水晶报表) JDBC连接mysql数据库

Crystal Reports 2008(水晶报表) JDBC连接mysql数据库 在本文中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库。 在连接之间,首先要确认你电脑上面都安装了mysql数据库。 其次,就是jdbc连接数据时候所使用的相关jar包。 接下来,就可以进行数据库的一些连接操作了。 对JDBC不是很了解的,可以到完整java开发中JDBC连接数据库代码和步骤了解相关的操作 1.打开Crystal Reports的数据专家 2.点击JDBC(JNDI)出现:

3.输入url和数据库类名,点击下一步:

4.输入password 和user id 点击完成即可。 5.不过,在这操作之前,你需要做的是以下步骤: 在你安装的Crystal Reports目录: 我安装的目录是:D:\crystal reports 2008\Common\4.0\java 在此目录下面,有一个文件:CRConfig.xml配置文件

D:\crystal reports 2008\Common\4.0\java\CRConfig.xml 1 2../.. 310 4 5 6 7 8 9 10CFKOA-YOTTM2M-OOUFAFF-N43M 11 12 13D:\crystal reports 2008\javasdk\bin 14D:\crystal reports 2008\Common\4.0\java/lib/mysql-connector-java-5.1.10-bin.jar;D:\c rystal reports 2008\Common\4.0\java/lib/crlovmanifest.jar;D:\crystal reports 2008\Common\4.0\java/lib/C RLOVExternal.jar;D:\crystal reports 2008\Common\4.0\java/lib/CRDBJDBCServer.jar;D:\crystal reports 2

vs2010连接mysql数据库方法

Vs2010连接Mysql数据库方法 下载MySQL 5.5.13 正式版:https://www.360docs.net/doc/44820382.html,/html/361.html ------------------------------------------- 操作系统:winxp-32bit 数据库:MySQL Server 5.5 (安装路径:D:\Program Files\MySQL\MySQL Server 5.5) IDE: Microsoft Visual Studio 2010 untimate/Professional (以上东西都是完整安装的) ------------------------------------------- 一、VC设置 1、新建一个工程,随便写一个helloworld,目的是就是让工程下的“debug”文件夹出现 2、把D:\Program Files\MySQL\MySQL Server 5.5\lib下面的libmysql.dll复制到工程的debug文件夹里面 3、接下来要设置一些引用文件的环境变量,首先,点击项目->属性->vc++目录。 然后“include目录”那把“D:\Program Files\MySQL\MySQL Server 5.5\include”给加进来 再然后“lib目录”那里把“D:\Program Files\MySQL\MySQL Server 5.5\lib”也一起加进来 VC6.0设置: (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:\Program Files\MySQL\MySQL Server 5.5\include)。 (2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下有debug目录,选debug。(我的是D:\Program Files\MySQL\MySQL Server 5.5\lib\debug)。 4、然后在项目->属性窗口下点击:连接器->输入->附加依赖项,把"libmysql.lib"写进去VC6.0设置:在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。 使用VC++编译时再添加以下项: 5、在stdafx.h里面添加如下的内容: #include "mysql.h" #include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了 二、数据库的相关操作 1、打开“开始->所有程序->MySQL->MySQL Server 5.5->MySQL Command Line Client.exe”,如果有密码就输入密码,没有设置密码就直接按回车,会提示服务器启动成功。

解决数据库连接池连接mysql时,每隔8小时mysql自动断开连接的问题

解决数据库连接池连接mysql 时,每隔8小时mysql 自动断开连接的问题文章分类:数据库解决数据库连接池连接mysql 时,每隔8小时mysql 自动断开所有连接的问题最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql 数据库,可mysql 数据库每隔8小时就会自动断开所有链接,连接池就失效,需要重新启动tomcat 才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql 的手册,发现mysql 有解决办法,下面就是最简单的解决办法:连接数据库的时候加上autoReconnect=true 这个参数: jdbc:mysql://localhost:3306/accounant?useUnicode=true& characterEncoding=UTF-8&au toReconnect=true 但是,在mysql 手册中有这样一段话:autoReconnect 驱动程序是否应尝试再次建立失效的和/或死连接?如果允许,对于在失效或死连接上发出的查询(属于当前事务),驱动程序将抛出异常,但在新事务的连接上发出下一个查询时,将尝试再连接。不推荐使用该特性,这是因为,当应用程序不能恰当处理SQLExceptions 时,它会造成与会话状态和数据一致性有关的副作用,设计它的目的仅用于下述情况,即,当你无法配置应用程序来恰当处理因死连接和/或无效连接导致的SQLExceptions 时。作为可选方式,可将MySQL 服务器变量“wait_timeout”设置为较高的值,而不

是默认的8 小时。呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat 崩溃??会产生“数据一致性”问题??保险一点的办法还是增加“wait_timeout”这个值吧,把28800 设置成更大的值,这样应该就不会有什么问题了吧。注:目前我使用的是autoReconnect 这种方式,未发现什么问题。

连接MYSQL数据库

连接MySQL 数据库 本文档说明如何设置从NetBeans IDE 6.7 到MySQL 数据库的连接。连接后,即可通过执行以下操作开始在IDE 的数据库资源管理器中使用MySQL:创建新的数据库和表、在表中填充数据,并对数据库结构和内容运行SQL 查询。本教程是专门为那些对数据库管理有基本了解,并想要运用其知识在 NetBeans IDE 中使用MySQL 的初学者而设计的。 MySQL是一种常见的开源关系数据库管理系统(Relational Database Management System, RDBMS),由于其速度、灵活性和可靠性而常用于Web 应用程序中。MySQL 使用SQL(即Structured Query Language,结构化查询语言)访问和处理数据库中包含的数据。 预计时间:30分钟 目录 ?配置MySQL 服务器属性 ?启动MySQL 服务器 ?创建并连接到数据库 ?创建数据库表 ?使用表数据 ?运行SQL 脚本 ?另请参见 要学习本教程,您需要具备以下软件和资源。 软件或资源要求的版本 NetBeans IDE 6.8、6.7 或6.5 Java 下载 Java Development Kit (JDK)版本6 或版本5 MySQL 数据库服务器版本5.x 注意:本教程假设已在计算机上安装并配置了MySQL RDBMS。如果是首次安装,请查阅正式的MySQL 文档以寻求帮助。还可以参阅在Windows 操作系统中设置MySQL 数据库服务器。 配置MySQL 服务器属性 NetBeans IDE 6.8 支持MySQL RDBMS。访问NetBeans IDE 中的MySQL 数据库服务器之前,必须先配置MySQL 服务器属性。 1.在“服务”窗口中,展开“数据库”节点,右键单击“MySQL 服务器”节点并选择“属性”。 “MySQL 服务器属性”对话框打开。

Tomcat配置数据源连接MySql数据库

1. 修改Tomcat安装目录下的conf文件夹里的context.xml文件. 在context.xml文件中添加以下内容:(注意是在之间添加) 其中:name必须为"jdbc/..."的形式."..."是指你想给datasource命名的名字. username是连接数据库的用户名. password是连接数据库的密码. url是jdbc:mysql://主机名:端口号/数据库名称 2. 在Tomcat安装目录下的webapps里创建工程MyTest工程. 3. 将ROOT下的WEB-INF文件夹整个拷贝至MyTest中. 4. 修改修改MyTest\WEB-INF中web.xml,在中添加如下 DB Connection jdbc/mytest javax.sql.DataSource Container 此处的名字应与context.xml中Resource name一致。 5. 在Tomcat服务器下的lib文件夹下添加连接MySQL数据库的驱动包。 6. MyTest下编写jsp测试连接池是否成功,在MyTest文件夹下创建myTest.jsp文件.输入内容如下:(注意修改数据库名字.) <%@ page import=”java.sql.*, javax.sql.*, javax.naming.*”contentType="text/html;charset=gb2312"%> 连接池测试页面 <%out.println("

Hello,test DBCP !

");%> <%

ODBC连接MySQL数据库

使用ODBC管理MySql数据库 1、测试环境简介 首先,测试环境中MySql数据库是安装在服务器上的,IP地址为192.168.100.1服务器操作系统为Windows Server 2008,所安装的数据库版本为5.5.0-m2-win32,安装的过程中数据库管理员帐号采用的是默认的root,密码是123456,安装成功后在服务器上配置了名称为OA的数据库。我们的目标是在IP地址为192.168.100.111的内网客户端上实现对上述服务器上的MySql数据库的访问控制。 2、在服务器上添加管理账户 默认情况先在服务器上安装MySql数据库的过程中所设置的管理账户是不能实现远程访问的,此时需要首先在服务器上添加针对客户端IP地址的管理账户,这里我所使用的管理软件是Navicat for MySql,在服务器上登录这个软件之后的显示效果如下: 图1 Navicat for MySql 点击上图中的“管理账户”,出现如下所示界面:

图2 账户管理 通过上图的添加账户添加针对192.168.100.111的客户端的管理账户,添加之后选择该账户对数据库的操作权限,简单的可以全部选择,如下所示: 图3 设置账户的操作权限 至此在客户端所使用的账户信息设置完成。 3、客户端安装针对MySql数据库管理的组件 在客户端机器192.168.100.111上安装针对MySql数据库操作的ODBC组件mysql-connector-odbc-3.51.30-win32.msi。 4、设置ODBC数据源 4.1 打开数据源管理 在客户端电脑上通过“开始”->“控制面板”->“管理工具”->“数据源(ODBC)”,打开数据源管理界面,如下所示:

【IT专家】MySQL使用数据库出现如下异常,用的是dbcp连接池,, 跪求!!!

本文由我司收集整编,推荐下载,如有疑问,请与我司联系MySQL使用数据库出现如下异常,用的是dbcp连接池,,跪 求!!! 严 重:Servlet.service()forservlet[springDispatcherServlet]incontextwithpath[/springmybatis]t hrewexception[Requestprocessingfailed;nestedexceptionisorg.mybatis.spring.MyBatisSyst emException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException: ###Errorqueryingdatabase.Cause:org.springframework.jdbc.CannotGetJdbcConnectionEx ception:CouldnotgetJDBCConnection;nestedexceptionisjava.sql.SQLException:Cannotcre atePoolableConnectionFactory(Accessdeniedforuser’root’@’localhost’(usingpassword:YE S)) ###Theerrormayexistinfile[D:\Tomcat\webapps\springmybatis\WEB-INF\classes\com\hellojava\springmybatis\entity\UserMapper.xml] ###Theerrormayinvolvecom.hellojava.springmybatis.dao.IUserDao.loadbyId ###Theerroroccurredwhileexecutingaquery ###Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:CouldnotgetJD BCConnection;nestedexceptionisjava.sql.SQLException:CannotcreatePoolableConnection Factory(Accessdeniedforuser’root’@’localhost’(usingpassword:YES))]withrootcause java.sql.SQLException:Accessdeniedforuser’root’@’localhost’(usingpassword:YES) atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911) atcom.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953) atcom.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276) atcom.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)

数据库连接池配置的几种方法

今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(以Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,内容如下: 方式二:在tomcat6.0的目录conf下面的context.xml中,修改原来的context标签,改成内容如下: WEB-INF/web.xml 方式三:在配置虚拟目录时,也就是在配置conf下面的server.xml时,在context标签内改成如下形式:

Access&MySQL数据库的连接方法

1:介绍 1)Java的应用程序与数据库的连接都是通过JDBC来完成的,现在主流的数据库几乎都支持JDBC,程序员只要掌握了JDBC的开发技术就可以对各种数据库进行操作了。 2)支持JDBC的数据库具体有:Oracle、SQL Server、MySQL、DB2等。 3)Windows下最简单的一种连接数据库的方式就是采用ODBC,因此JDBC中专门提供了可以连接ODBC数据源的驱动程序——JDBC-ODBC连接桥。(ODBC是微软公司为Windows平台提供的开放的数据库连接标准,使用它可以在Windows平台下访问几乎所有的数据库) 2:连接Access数据库 1)由于Access数据库没有官方的专用JDBC驱动程序,所以必须将Access数据库连接到ODBC,再通过JDBC-ODBC连接桥连接到ODBC来访问数据库。 2)首先要为指定的Access数据库设置ODBC数据源,具体步骤如下: 控制面板->管理工具->数据源(ODBC) 添加->选择数据源的驱动程序(选择Access驱动)->点击完成->填写具体属性

3)使用代码加载JDBC-ODBC的驱动程序,并且连接(Connection)上指定的Access 数据库,建立语句(Statement),然后由语句对数据库进行创建表格、新增、修改 等操作,最后返回结果(ResultSet)并打印。(代码略) 3:连接MySQL数据库 1)首先安装MySQL数据库,调试好各种配置,通过命令行进入数据库。(详细步骤另见) 2)为了测试一下数据库是否工作正常,我们编写一个SQL脚本(名字命名为test.sql),然后执行它,如:

Java连接MySQL 数据库

Java连接MySQL 数据库的正确操作流程 时间:2010-05-25 15:41 来源:博客园字体:[大中小] 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述。 当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动MySQL-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的 MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下: “我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。 环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。 我是用SQLyog的前端软件来创建Database的。 先创接MySQL 数据库: 1.CREATE DATABASE SCUTCS; 接着,创建表: 1.CREATE TABLE STUDENT 2.( 3.SNO CHAR(7) NOT NULL, 4.SNAME VARCHAR(8) NOT NULL, 5.SEX CHAR(2) NOT NULL, 6.BDATE DATE NOT NULL, 7.HEIGHT DEC(5,2) DEFAULT 000.00, 8.PRIMARY KEY(SNO) 9.); 然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...); 也可以用SQLyog来操作

04. 数据库连接池(DataSource)

数据库连接池(DataSource) 1、概念 在三层架构中,DAO层直接与数据库交互,首先要建立与数据库的连接,如果采用下图(a)所示,则用户每次的请求都要创建连接,用完又关闭,而数据库连接的创建和关闭需要消耗较大的资源,因此实际开发中常采用图(b)所示,在应用程序启动时创建一个包含多个Connection对象的连接池,DAO层使用时直接从池子里取一个Connection对象,用完后放回池子,避免了重复创建关闭数据库连接造成的开销。 2、数据库连接池原理 下面的代码模拟了数据库连接池的原理(代码中的JDBCUtil工具类见《MySQL(JDBC)》),池子里保持了10个Connection对象,并提供了getConnection和release方法: public class ConnectionPoolDemo { //连接池实际上就是一个List private static List pool = new LinkedList();

static{//加载连接池类时在池子中放入10个连接 for(int i = 0;i < 10;i ++){ Connection conn; try { conn = JDBCUtil.getConnection(); pool.add(conn); } catch (Exception e) { e.printStackTrace(); } } } //从池子中取出一个连接 public synchronized Connection getConnection(){ return pool.remove(0); } //把连接还回池子中 public static void release(Connection conn){ pool.add(conn); } } 3、编写一个符合规范的连接池 上节模拟数据库连接池原理的代码也实现了一个简单连接池,但是不符合规范(Sun公司制定)。编写一个符合规范的连接池需要实现javax.sql.DataSource接口。(DataSource接口中定义了两个重载的getConnection方法) 编程难点☆:当用户使用完Connection,执行conn.close()时,Connection对象应保证将自己还给连接池,而不要把conn关闭。之所由Connection对象保证将自己返回到LinkedList 中,是因为DataSource接口中并未定义上节例子中类似release的方法。所以必须改写Connection中的close方法,使得用户执行conn.close()时,将Connection对象还给连接池。解决方案☆:改写驱动程序中Connection类的close方法。对已知类的某些方法进行功能上的改变,有以下几种编码方案(☆): 1)编写子类,覆写需要改变的方法。此处行不通,原因有:①程序中不知道继承哪个驱动的Connection实现类②数据库驱动对Connection接口的实现类是final的,不允许被继承。 2)装饰(包装)设计模式(静态代理) ①定义包装类:MyConnection,该类完成了对com.mysql.jdbc.Connection类的包装。 关键词:保持被包装对象的原有信息、对某个/某些方法进行改写。包装类的编写过程如下:/**

相关文档
最新文档