/
一个非常标准的连接Oracle数据库的示例代码
/
public void testOracle()
{
Connection con = null;// 创建一个数据库连接
PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result = null;// 创建一个结果集对象
try
{
ClassforName("oraclejdbcdriverOracleDriver");// 加载Oracle驱动程序
Systemoutprintln("开始尝试连接数据库!");
String url = "jdbc:oracle:thin:@127001:1521:XE";// 127001是本机地址,XE是精简版Oracle的默认数据库的SID
// 如果是服务名,则用String url = "jdbc:oracle:thin:@127001:1521/ORCL
String user = "system";// 用户名,系统默认的账户名
String password = "147";// 你安装时选设置的密码
con = DriverManagergetConnection(url, user, password);// 获取连接
Systemoutprintln("连接成功!");
String sql = "select from student where name=";// 预编译语句,“?”代表参数
pre = conprepareStatement(sql);// 实例化预编译语句
presetString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
result = preexecuteQuery();// 执行查询,注意括号中不需要再加参数
while (resultnext())
// 当结果集不为空时
Systemoutprintln("学号:" + resultgetInt("id") + "姓名:"
+ resultgetString("name"));
}
catch (Exception e)
{
eprintStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if (result != null)
resultclose();
if (pre != null)
preclose();
if (con != null)
conclose();
Systemoutprintln("数据库连接已关闭!");
}
catch (Exception e)
{
eprintStackTrace();
}
}
}
java中使用jdbc连接sql server数据库步骤:
1JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbcjar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_12\enu\sqljdbcjar
设置SQLEXPRESS服务器:
a打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP
b右键单击启动TCP/IP
c双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e关闭SQL Server Configuration Manager
打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
打开Eclipse
a新建工程-> Java -> Java project,起名为Test
b选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbcjar
c右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path, 添加扩展jar文件,即把sqljdbcjar添加到其中
编写Java代码来测试JDBC连接SQL Server数据库
import javasql;
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "commicrosoftsqlserverjdbcSQLServerDriver";
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
try {
ClassforName(driverName);
dbConn = DriverManagergetConnection(dbURL, userName, userPwd);
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出
} catch (Exception e) {
eprintStackTrace();
}
}
}
执行以后就可以连接到sample数据库了。
String driverName = "commysqljdbcDriver"; // 加载JDBC驱动
String dbURL = "jdbc:mysql://localhost:3306/test"; // 连接服务器和数据库test
String userName = "sa"; // 默认用户名
String userPwd = "sa"; // 密码
javasqlConnection dbConn;
try {
ClassforName(driverName)newInstance();
dbConn = javasqlDriverManagergetConnection(dbURL, userName, userPwd);
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
} catch (ClassNotFoundException e) {
Systemoutprintln("没有找到驱动");
} catch (Exception e) {
// TODO: handle exception
eprintStackTrace();
}
还是直接上代码吧。
1在新建的Project中右键新建Floder
2
2创建名为lib的包
3创建完毕之后的工程目录
4接下来解压你下载的mysql的jar包,拷贝其中的jar文件
5在工程lib包下邮件 选择paste即粘贴,把mysql的jar包拷贝进来
6拷贝完毕如图:
7在mysql的jar包上右键选择 build path - add to build path
8添加完毕之后,工程才与Mysql的jar包关联起来,现在可以使用相关类和方法了
9在工程中新建JdbcTest1java类
10输入如下代码:
11代码解释:
Driver是个实现类,它由具体的数据库厂商来实现。
它的connect方法可以获取数据库连接。参数如上图。
运行之后,输出如下,证明数据库连接成功!
12说明:这个是使用Driver连接数据库的,而通常开发中使用的是DriverManager或数据库连接池,这个仅作为理解数据库连接事例使用。
如果数据库表中有记录,就证明你的插入没有问题,但是查询为空,检查下你的查询语句,直接使用sysoutoutprintln()输出看看我们对于JAVA初学者和自学者,对JAVASE、JAVAEE和三大框架进行辅导,如果需要详细了解,请查看我资料的网址连接,我们一定耐心为你解答。
去网上找个mysql驱动jar包,不同的数据库只需要改加载驱动和得到连接的参数就可以了,具体参数去网上搜下,额对,还需要找对应的jar包
import javasql;
public class Test1{
public static void main(String args[])throws Exception{
//测试mysql数据库
//1加载驱动
ClassforName("commysqljdbcDriver");
//2得到一个连接
Connection con=DriverManagergetConnection("jdbc:mysql://192168124:3306/etoak","root","root");
//jdbc:mysql mysql数据库协议
//localhost:连接的主机名称,3306 mysql数据库端口号
//etoak 数据库名称
//3封装sql语句
String insert="insert into student value(6,'ek','ek')";
//4得到一个执行sql语句的对象
Statement sta=concreateStatement();
//5执行sql语句
staexecute(insert);
//6关闭流
staclose();
conclose();
}
}
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过javalangClass类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
ClassforName("commysqljdbcDriver") ;
}catch(ClassNotFoundException e){
Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");
eprintStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/testuseUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向javasqlDriverManager请求并获得Connection对象,
该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManagergetConnection(url , username , password ) ;
}catch(SQLException se){
Systemoutprintln("数据库连接失败!");
seprintStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = concreateStatement() ;
PreparedStatement pstmt = conprepareStatement(sql) ;
CallableStatement cstmt =
conprepareCall("{CALL demoSp( , )}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
语句。
具体实现的代码:
ResultSet rs = stmtexecuteQuery("SELECT FROM ") ;
int rows = stmtexecuteUpdate("INSERT INTO ") ;
boolean flag = stmtexecute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rsnext()){
String name = rsgetString("name") ;
String pass = rsgetString(1) ; // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)
7、关闭JDBC对象
*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rsclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmtclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
connclose() ;
}catch(SQLException e){
eprintStackTrace() ;
}
}
一般的话,一个数据库连接用完之后是要关闭的。
如果是一个项目的话一般使用数据库连接池,如果有多个数据库的话最好是建立多个连接池,这样的话,在系统启动时,一次加载一定数量的连接对象,用完之后放回去。
如果你仅仅需要两个数据库连接对象的话,不如分别创建两个静态全局变量来保存两个数据库的连接对象。
以上就是关于如何利用JDBC连接并 *** 作Oracle数据库全部的内容,包括:如何利用JDBC连接并 *** 作Oracle数据库、jdbc怎么连接sqlserver服务器下的数据库、如何使用jdbc连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)