SQLServer数据库JDBC连接技术

SQLServer数据库JDBC连接技术
JAVA中数据源和连接池方式DataSoure<数据源>
JDBC2.0提供了javax.sql.DataSource接口。负责数据库连接池建立连接
DataSource中预先建立了多个数据库连接,当程序访问时,由连接池中抽出空的连接。DataSource对象由容器(Tomcat)提供。
Tomcat 5.0x版本
Tomcat\comon\lib目录下放置数据库连接jar包。
Server.xml文件中
<Context path="/test" docBase="f:\testweb\"
debug="5" reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_MysqlTest_log." suffix=".txt"
timestamp="true"/>

<Resource name="名字"  auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="名字">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name> 设置最大活动连接数0表示不受限制
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name> 设置最大空闲连接数0表示不受限制
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name> 设置空闲时的等待时间
<value>5000</value>
</parameter>
<parameter>
<name>username</name> 用户名
<value>用户名</value>
</parameter>
<parameter>
<name>password</name> 密码
<value>密码</value>
</parameter>
<parameter>
<name>driverClassName</name> 设置Diver
<value>驱动程序</value>
</parameter>
<parameter>
<name>url</name>
<value>连接地址</value> 设置URL
</parameter>
  </ResourceParams>
</Context>
Web.xml中的配置对数据连接池的引用
页面显示
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%!
final String JNDINAME = "java:comp/env/jdbc/mldn" ;//在weblogin中是不需要用的
%>
<%
Connection conn = null ;
try
{
// 初始化查找命名空间
Context ctx = new InitialContext() ;
// 找到DataSource
DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
conn = ds.getConnection() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
%>
<%=conn%>
<%
// 将连接重新放回到池中
conn.close() ;
%>







Tomcat 6.0x版本
MEAT—INF目录下Context.xml文件配置
<Context>
<Resource name="TestJNDI" type="javax.sql.DataSoure" auth="Container"
driverClassName=" com.microsoft.sqlserver.jdbc.SQLServerDriver "
url="jdbc:sqlserver://1433";DataName="DB"
usreName="sa"password="123"
maxActive="4" maxTdle="2" maxWait="60000" />
</Context>

JDBC——ODBC桥连接(由微软提供的ODBC数据源来判断该如处理)
连接字符窜:
DRIVER=sun.jdbc.odbc.JdbcOdbcDriver;
URU=jdbc:odbc:数据源名;
JDBC纯java驱动连接(由数据库厂商提供)
Sql2000
DRIVER=com.microsofter.jdbc.sqlserver.SQLServerDriver
URL=jdbc.microsofter.sqlserver://localhost:1433;DatabaseName=””

Sql2005
DRIVER=com.microsofter.sqlserver.jdbc.SQLServerDrive
URL= jdbc:sqlserver://localhost:1433;DatabaseName=””
MySql
DRIVER ="org.gjt.mm.myspl.Driver";
URL ="jdbc:mysql://localhost:3306/数据库名

Oracle
DRIVER ="oracle.jdbc.driver.OracleDriver";
URL ="jdbc:oracle:thin:@localhost:1521:SID”


Mysql数据库JDBC连接技术
启动数据库服务:
通过命令行
启动数据库 —— net start mysql
关闭数据库—— net stop mysql
用户名:root
密  码:123456
登陆 mysql –uroot –p123456
查看数据库(表) show databases(tables) ;
创建数据库 create database [数据库名] ;
删除数据库 dorp database [数据库名] ;
要使用的数据库(表) use 库(表)名;
创建一个数据库表 CREATE TABLE person
(
id varchar(23) not null primary key,
name varchar(20) not null,
password varchar(20) not null
)
显示表结构 descripe 表名称 ;
导入.sql文件命令 source D:/mysql.sql
查看服务器版本号和当前日期 select varsion(),current_date;
select varsion();select now();
其他的都是sql语句,写完之后要加上“;”号
代码:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.spl.*"%>
<%
final String DBDRIVER ="org.gjt.mm.myspl.Driver";
final String DBURL ="jdbc:mysql://localhost/数据库名";
final String DBUSER ="root";
final String DBPASSWORD ="12345678";

Connection conn=null;
%>
<%
try
{
Class.forName(DBDRIVER);
Conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
Statement stmt =conn.createStatement();
String sql ="CREATE TABLE person(name varchar(32))";
//执行更新语句
stmt.executeUpdate(sql);
stmt.close();
}
catch(Excuption e)
{
out.println(e);//开发中是不能用的
}
%>

Oracle数据库JDBC连接技术
Oracle_Home\jdbc目录中Reader.txt文件,里面有很多jdbc的重要信息,包括安装和指导。
Oracle_Home\jdbc\lib目录:包含有许多jar文件

添加到ClassPath工作环境中,(jar文件,使用的对应版本)
使用的是JDK1.6—— ojdbc6.jar;
使用的是JDK1.5—— ojdbc5.jar;
使用的是JDK1.4—— ojdbc14.jar;
使用的是JDK1.2—— classes12.jar;
要国家语言的支持——Oracle_Home\jlib\ orai18n.jar
JTA和JNDI的特性——Oracle_Home\jlib\ jta.jar..jndi.jar

加载Oracle.jdbc驱动
第一种:Class.forName("oracle.jdbc.OracleDriver");
第二种:DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

URL:=” jdbc:oracle:thin:@localhost:SID”;

Oracle驱动程序:
Thin驱动程序:占用内存最小,占用系统资源小。客户机上使用。
OCI驱动程序:占用系统资源大,但性能好。服务器上使用。

使用数据源连接:

oracle.jdbc.pool.OracleDataSource obj
=new oracle.jdbc.pool.OracleDataSource();
设置属性
obj.setServerName("localhost");
obj.setDatabaseName("ACCP");
obj.setDriverType("thin");
obj.setPortNumber(1521);
obj.setUser("scott");
obj.setPassword("tiger");
//获得连接
Connection conn=obj.getConnection();

Oracle JDBC扩展包:
Oracle.sql: 包含支持所在Oracle数据型的类。
Oracle.jdbc:包含支持所用访问Oracle数据库接口的类。


几条常见的数据库分页 SQL 语句
2007-11-07 10:57作者:ares出处:IT专家网责任编辑:幽灵
  作者根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句做了介绍……
  我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下:
  SQL Server
  从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:
  SELECT *   FROM ( SELECT Top N *   FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2   Order by 主键 asc
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
  SELECT *   FROM ( SELECT TOP 20 *   FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2   Order by sys_id asc
  Oralce数据库
  从数据库表中第M条记录开始检索N条记录
  SELECT *   FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2   where t2.r >= M
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
  SELECT *   FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2   Where t2.R >= 10
  MySQL数据库
  My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
以下是引用片段:  SELECT * FROM 表名称 LIMIT M,N
  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
以下是引用片段:  select * from sys_option limit 10,20

你可能感兴趣的:(java,sql,jdbc)