jdbc数据库配置
⑴ Jdbc多数据源动态切换项目
如何实现多数据源动态切换!
最近接到一个监控数据库资源情况的小项目。需要监控多个数据库的长时间耗时的sql,并发出短信预警提醒。
技术实现思路:
1、通过配置设置一个主数据库,通过主数据库读取需要监控的数据库的地址,账号密码,驱动类型,需要执行的SQL,以及查询结果字段,短信模板等。
2、使用jdbc模板实现,动态数据源的配置及切换。
3、短信内容实现动态替换,模板引擎替换
4、动态SQL,根据执行类型字段,支持增删改查的SQL
5、可以根据插入的SQL的链路串起来SQL执行顺序。前边的SQL也可以动态生成后续需要动态执行的SQL,动态插入到执行SQL列表中。
今天先把思路设计出来,后续再上实现的代码。
⑵ jdbc框架项目如何配置 mysql双主 目前项目中配置的数据源是在tomcat中
方法/步骤
打开tomcat目录,进入conf配置目录,有个context.xml文件,一般建议把数据源配置放在这个文件里进行配置,放在server.xml也是可以的,但不建议这么做,server.xml文件一般是tomcat服务相关的配置
⑶ JDBC连接数据库的步骤都有哪些
1、首先我们通过数据库可视化工具navicate for mysql,新建一个数据库,名字叫test新建一张表。
⑷ 浅谈JDBC怎么连接数据库
各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。
JDBC怎么连接数据库一、连接各种数据库方式速查表
下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Stringurl="jdbcracle:thinlocalhost:1521rcl";//orcl为数据库的SID
Stringuser="test";
Stringpassword="test";
Connectionconn=DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
Stringurl="jdbc:db2://localhost:5000/sample";//sample为你的数据库名
Stringuser="admin";
Stringpassword="";
Connectionconn=DriverManager.getConnection(url,user,password);
3、SqlServer7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
Stringuser="sa";
Stringpassword="";
Connectionconn=DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
Stringurl="jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
PropertiessysProps=System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connectionconn=DriverManager.getConnection(url,SysProps);
5、Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
Stringurl="jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";//myDB为数据库名
Connectionconn=DriverManager.getConnection(url);
6、MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connectionconn=DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName("org.postgresql.Driver").newInstance();
Stringurl="jdbc:postgresql://localhost/myDB"//myDB为数据库名
Stringuser="myuser";
Stringpassword="mypassword";
Connectionconn=DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringurl="jdbcdbcriver={MicroSoftAccessDriver(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connectionconn=DriverManager.getConnection(url,"","");
StatementstmtNew=conn.createStatement();
JDBC怎么连接数据库二、JDBC连接MySql方式
下面是使用JDBC连接MySql的一个小的教程
1、查找驱动程序
MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动程序,不需做其他配置。
2、动态指定classpath
如果需要执行时动态指定classpath,就在执行时采用-cp方式。否则将上面的.jar文件加入到classpath环境变量中。
3、加载驱动程序
try{
Class.forName(com.mysql.jdbc.Driver);
System.out.println(SuccessloadingMysqlDriver!);
}catch(Exceptione)
{
System.out.println(ErrorloadingMysqlDriver!);
e.printStackTrace();
}
4、设置连接的url
jdbc:mysql://localhost/databasename[?pa=va][&pa=va]
JDBC怎么连接数据库三、以下列出了在使用JDBC来连接Oracle数据库时可以使用的一些技巧
1、在客户端软件开发中使用Thin驱动程序
在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。
2、关闭自动提交功能,提高系统性能
在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:
conn.setAutoCommit(false);
值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。
3、在动态SQL或有时间限制的命令中使用Statement对象
在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。
此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。
4、利用helper函数对动态SQL命令进行格式化
在创建使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O'Reilly插入表中的SQL命令,则必须使用二个相连的“''”号替换O'Reilly中的“'”号。完成这些工作的最好的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。
5、利用PreparedStatement对象提高数据库的总体效率
在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。
6、在成批处理重复的插入或更新操作中使用PreparedStatement对象
如果成批地处理插入和更新操作,就能够显着地减少它们所需要的时间。Oracle提供的Statement和CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用setExecuteBatch():
PreparedStatementpstmt3Dnull;
try{
((OraclePreparedStatement)pstmt).setExecuteBatch(30);
...
pstmt.executeUpdate();
}
调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。
7、使用Oraclelocator方法插入、更新大对象(LOB)
Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法设置CLOB的值。只有locator本身中的方法才能够从数据库中获取LOB类型的值。可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。
8、使用SQL92语法调用存储过程
在调用存储过程时,我们可以使用SQL92或OraclePL/SQL,由于使用OraclePL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。
9、使用ObjectSQL将对象模式转移到数据库中
既然可以将Oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建Javabean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Javabean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和操作的应用软件也可以使用应用软件中的对象模式。
10、利用SQL完成数据库内的操作
我要向大家介绍的最重要的经验是充分利用SQL的面向集合的方法来解决数据库处理需求,而不是使用Java等过程化的编程语言。
如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能。
⑸ weblogic javaee jdbc 怎么配置连接数据库
前置操作: 1 打开configuration Wizard 创建一个域 mydomain (基本上一路“NEXT” ,最后“DONE”,需要注意的就是路径的问题)
2 在Myeclipse 中创建一个web 命名test
在Myeclipse 中部署
1)在工具栏中打开window/preferences/myeclipse/application Servers/weblogic/weblogic 8.x
2) 配置信息: (1)BEA home directory:D:/BEA。假定WebLogic安装在D:/BEA文件夹中。
(2)WebLogic installation directory:D:/BEA/weblogic81。
(3)Admin username:weblogic。
(4)Admin password:weblogic。
(5)Execution domain root:C:/BEA/user_projects/mydomain。
(6)Execution domain name:mydomain。
(7)Execution server name:myserver。
(8)Hostname:PortNumber:localhost:7001。
(9)Security policy file:D:/BEA/weblogic81/server/lib/weblogic.policy。
(10)JAAS login configuration file:省略。
一些设置因人而异
3)这是很重要的步骤 在配置的weblogic 8.x 中JDK 选择BEA自带的JDK 不用也可以 但必须选 择jdk 1.4 因为weblogic81 不支持jdk1.5 或更高版本 不然启动不成功
4)最后点击Paths,在右边的Prepend to classpath列表框中,通过Add JAR/ZIP按钮,加入D:/BEA/weblogic81/server/lib/weblogic.jar、D:/BEA/weblogic81/ server/lib/webservices.jar。如果用到数据库,还需把数据库的驱动类库加进来,这里我们用WebLogic自带的SQL Server数据库驱动库D:/BEA/weblogic81/server/lib/mssqlserver2.jar。(我试过不加这几个 jar 也没出问题 还是尽量加上为好)
至此 总算是部署成功了。。
补充一点: 如果启动时候报这样的错误 [url=javascript:;]Deployment[/url] [url=javascript:;]descriptor[/url] "[url=javascript:;]web[/url].xml" is [url=javascript:;]malformed[/url]. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'web-app'.
原因是因为工程创建时候用的是jdk1.5 或者以上版本 解决办法可以用jdk1.4 重新编译 或者只要把web.xml 文件头改为
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
这个jdk 1.4生成的web.xml的文件头 修改后启动就没问题了。。
下面是配置 DB2 JDBC 的步骤:
1. 将C:/Program Files/SQLLIB/java/ db2java.zip改名为.jar文件,COPY到C:/bea/weblogic81
/server/lib下(可以把所有的*.jar都考过去),这一步是将db2的jdbc驱动放在weblogic下
2. 修改C:/bea/weblogic81/common/bin/commEnv.cmd在
set WEBLOGIC_CLASSPATH=后加入%WL_HOME%/server/lib/db2jcc.jar;%WL_HOME%/server/lib/db2java.jar;
3. 修改C:/bea/weblogic81/server/bin/startWLS.cmd在
set CLASSPATH=后加入%WL_HOME%/server/lib/db2jcc.jar;%WL_HOME%/server/lib/db2java.jar;
以上两步是设置jdbc驱动的路径,以让weblogic可以识别
4. 启动C:/bea/user_projects/domains/mydomain/startWebLogic.cmd
5. 登录http://127.0.0.1:7001/console进去
6. 新建一个connection pool (Services/JDBC/connection Pools)
7. 按照页面填写,database type为db2;database driver为other,”continue”
8. NAME 随便起
DriverClassname: COM.ibm.db2.jdbc.net.DB2Driver
URL: jdbc:db2://ip地址,本地为localhost:端口号/数据库名
Database user name 为admin
PASSWORD:admin
9. 测试连接,成功后应该有connection successful的画面
⑹ jdbc连接远程数据库的配置问题
没看懂,什么叫先连接到219.237.21.42再连接到10.156.88.144?
⑺ 如何配置odbc数据源
1、在控制面板>管理工具中找到"数据源ODBC",并启动。
(7)jdbc数据库配置扩展阅读:
spring中配置数据源的几种常见方式:
1、 #mysql 数据库配置(jdbc.properties)
2、jdbc.driverClassName=com.mysql.jdbc.Driver
3、jdbc.url=jdbc:mysql://localhost:3306/databaseName?useUnicode=true&characterEncoding=UTF-8
4、jdbc.username=root
5、jdbc.password=root
⑻ jsp如何连接数据库JDBC的配置
1.tomcat5.5的下载地址
http://tomcat.apache.org
2.tomcat5.5的安装
也很简单,没什么可说的,只建议修改安装目录名称为tomcat5.5,安装好后启动tomcat,在地址栏中输入
http://localhost:8080,可以看见"cat"的欢迎界面
3.tomcat5.5的配置
需要配置classpath
假设tomcat的安装目录是d:\tomcat5.5,那么就在classpath中添加d:\tomcat5.5\common\lib\servlet-api.jar;d:\tomcat5.5\common\lib\jsp-api.jar;
4.编写HelloWorld
<%
out.println("Hello World!");
%>
保存为HelloWorld.jsp
5.编译HelloWorld
把HelloWorld.jsp放到tomcat的webapps\ROOT目录下,启动tomcat时服务器会自动把jsp文件翻译成servlet文件
6.运行HelloWorld
在地址栏中输入http://localhost:8080/HelloWorld.jsp,注意HelloWorld的大小写和后缀名不要写错
7.jsp连接SQL Server2000
要在tomcat中使用jdbc,就要把驱动程序设置到tomcat中,否则服务器是找不到的.
把jdbc驱动放到tomcat的\webapps\ROOT\WEB-INF\lib下,然后设置classpath
假设tomcat安装在d:\tomcat5.5目录下,那么就在classpath中添加d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\msbase.jar;d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\mssqlserver.jar;d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\msutil.jar;
测试代码(使用的是SQL Server自带的数据库,可以直接编译运行)
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<%=rs.getString(1)%>
<%=rs.getString(2)%>
<%}%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
⑼ 用jdbc连接数据库怎么样设置参数
特别说明其中的jdbc.url配置:如果你已经升级好了mysql-connector,其中的characterEncoding=utf8可以被自动被识别为utf8mb4(当然也兼容原来的utf8),而autoReconnect配置我强烈建议配上,我之前就是忽略了这个属性,导致因为缓存缘故,没有读取到DB最新配置,导致一直无法使用utf8mb4字符集,多么痛的领悟!!
没有让mysql驱动开启批量执行sql的开关。
⑽ jdbc配置连接sqlserver2008怎么操作
方法一:
数据库相关准备工作
新建数据库soft以及表test,并填入数据。 以备后续测试连接数据库使用。
修改数据库登陆方式 。右键数据库,【属性】【安全性】【服务器身份验证】,选择SQL Server 和Windows 身份验证模式。
创建登陆用户。 可以创建新用户,也可以使用已存在的用户(本例使用已有的sa)。先使用windows身份验证登陆,在【安全性】下找到sa,右键,【属性】。直接修改密码,(本例密码123),并把下方默认数据库修改为soft。
为确保无误,之后可以使用sql身份验证登陆,如果成功并能打开soft数据库,则数据库相关配置工作完成。
下载解压sqljdbc.jar 。将下载的sqljdbc解压,找到解压文件夹,如图,一般使用到的是sqljdbc或sqljdbc4,请根据所需选择相关文件,本例使用sqljdbc4。
导入sqljdbc4.jar。 打开eclipse,新建一个工程,将sqljdbc4.jar放到工程下。之后右键工程名,选择【Build Path】,如图。点击Add Jars。选择刚刚放进了的sqljdbc4.jar即可。
代码 。新建一个test.java文件,复制如下代码,运行即可。
代码:
import java.sql.*;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="jdbc:sqlserver://localhost:1433; DatabaseName=soft";
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Statement st;
Connection con;
try{
Class.forName(driver);//加载驱动
}
catch(ClassNotFoundException event){System.out.print("无法创建驱动程式实体!");}
try{
con=DriverManager.getConnection(url,"sa","123");
con.setAutoCommit(true);
System.out.println("已经连接到数据库...");
st=con.createStatement();
ResultSet rs=st.executeQuery("SELECT * from test ");
while(rs.next())
{ String name=rs.getString("name");
System.out.println(name);
}
}
st.close();
con.close();
}
catch(SQLException e1) {System.out.println("异常"+e1);}
} 成功运行如图所示。
方法二:
装VS2010时,会自带一个SQL SERVER 2008 EXPRESS,这比正式的SQL SERVER 2008版本小多了,本文就以EXPRESS版为例进行说明。
1. 确认Sql Server的的运行状态
打开Sql Server配置管理器,确认Sql Server的处于运行状态
开始->所有程序-> Microsoft SQL Server 2008->配置工具-> SQLServer配置管理器
打开TCP端口
确认TCP端口号
上面是动态端口,需要的话可改为固定端口
2. 安装JDBC驱动
1)下载JDBC驱动
http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
2)执行sqljdbc_4.0.2206.100_chs.exe解压驱动文件
3)拷贝以下目录中的sqljdbc_auth.dll到Windows的System32目录。对x64的机子,x64的dll拷到C:WindowsSystem32,x86的dll拷到C:WindowsSysWOW64目录。
Microsoft JDBC Driver 4.0 for SQL Serversqljdbc_4.0chsauth
3.在Java程序中连接SQL Server
classpath中加上安装好的SQL Server jdbc jar包
Microsoft JDBC Driver 4.0 for SQL Serversqljdbc_4.0chssqljdbc4.jar
连接SQL Server的JDBC代码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:54364;databaseName=master;IntegratedSecurity=True"; Connection con = DriverManager.getConnection(url);在SQL Server Browser服务开启的情况下也可以通过服务名连接
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhostSQLEXPRESS;databaseName=master;IntegratedSecurity=True"; Connection con = DriverManager.getConnection(url);4.身份验证模式
SQL Server默认使用Windows身份验证模式,这也是官方推荐的模式,安全性更高。上面的连接例子就是采用的Windows认证。如果要使用混合认证模式,需要下载SQL Server Management Studio,并通过SQL Server Management Studio修改认证模式为混合认证模式。
SQL Server Management Studio的下载地址
http://www.microsoft.com/zh-cn/download/details.aspx?id=8961
修改SQL Server认证模式的方法
http://technet.microsoft.com/zh-cn/library/ms188670(v=sql.105).aspx
混合认证模式下,可以由数据库进行认证,连接时需要提供用户名和密码
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:54364;databaseName=master"; Connection con = DriverManager.getConnection(url,"user","password");