Java JDBC连接三种数据库
来源:互联网 发布:java的stringbuffer 编辑:程序博客网 时间:2024/05/02 01:20
[html]
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 这是一个工具类,用于得到连接和关闭连接
*/
public class DBUtil
{
private static Connection ct=null;//连接
private static ResultSet rs=null;//结果
private static PreparedStatement ps=null;
//连接数据库参数
private static String url = "";
private static String drivername = "";
private static String username = "";
private static String password = "" ;
//加载驱动,一次
static{
try
{
Properties properties=new Properties();
InputStream is=DBUtil.class.getClassLoader().getResourceAsStream("dbInfo.properties");
properties.load(is);
//属性文件读取信息
drivername=properties.getProperty("driver");
username=properties.getProperty("username");
password=properties.getProperty("password");
url=properties.getProperty("url");
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
//得到连接
public static Connection getCon()
{
try {
Class.forName(drivername);
ct= DriverManager.getConnection(url, username, password);//从配置文件中读的
} catch (Exception e) {
e.printStackTrace();
}
return ct;//谁调用谁拿到Connection
}
//关闭资源函数
public static void close(ResultSet rs,Statement ps,Connection ct)
{
if(rs!=null)
{
try
{
rs.close();
}catch(Exception e)
{
}
rs=null;//使用垃圾回收
}
if(ps!=null)
{
try
{
ps.close();
}catch(SQLException e)
{
e.printStackTrace();
}
ps=null;
}
if(ct!=null)
{
try
{
ct.close();
}catch(SQLException e)
{
e.printStackTrace();
}
ct=null;
}
}
}
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 这是一个工具类,用于得到连接和关闭连接
*/
public class DBUtil
{
private static Connection ct=null;//连接
private static ResultSet rs=null;//结果
private static PreparedStatement ps=null;
//连接数据库参数
private static String url = "";
private static String drivername = "";
private static String username = "";
private static String password = "" ;
//加载驱动,一次
static{
try
{
Properties properties=new Properties();
InputStream is=DBUtil.class.getClassLoader().getResourceAsStream("dbInfo.properties");
properties.load(is);
//属性文件读取信息
drivername=properties.getProperty("driver");
username=properties.getProperty("username");
password=properties.getProperty("password");
url=properties.getProperty("url");
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
//得到连接
public static Connection getCon()
{
try {
Class.forName(drivername);
ct= DriverManager.getConnection(url, username, password);//从配置文件中读的
} catch (Exception e) {
e.printStackTrace();
}
return ct;//谁调用谁拿到Connection
}
//关闭资源函数
public static void close(ResultSet rs,Statement ps,Connection ct)
{
if(rs!=null)
{
try
{
rs.close();
}catch(Exception e)
{
}
rs=null;//使用垃圾回收
}
if(ps!=null)
{
try
{
ps.close();
}catch(SQLException e)
{
e.printStackTrace();
}
ps=null;
}
if(ct!=null)
{
try
{
ct.close();
}catch(SQLException e)
{
e.printStackTrace();
}
ct=null;
}
}
}
dbInfo.properties文件(oracle数据库)
[plain]
url=jdbc:oracle:thin:@172.0.0.1:1521:myoracle //改成自己数据库的
username=scott
driver=oracle.jdbc.driver.OracleDriver
password=123456
url=jdbc:oracle:thin:@172.0.0.1:1521:myoracle //改成自己数据库的
username=scott
driver=oracle.jdbc.driver.OracleDriver
password=123456
dbInfo.properties文件(mysql数据库)
[plain]
url=jdbc\:mysql\://localhost\:3306/dbname?useUnicode\=true&characterEncoding\=utf8
username=root
driver=com.mysql.jdbc.Driver
password=root
url=jdbc\:mysql\://localhost\:3306/dbname?useUnicode\=true&characterEncoding\=utf8
username=root
driver=com.mysql.jdbc.Driver
password=root
dbInfo.properties文件(sql server数据库)
[plain]
url=jdbc:sqlserver://localhost;databaseName=dbname;
username=sa
driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
password=123456
url=jdbc:sqlserver://localhost;databaseName=dbname;
username=sa
driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
password=123456
SqlHelper类 用于完成对数据库crud操作
[java]
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
//主要用于完成对数据库的crud操作
public class SqlHelper
{
//定义需要的变量
private static Connection ct=null;//连接
private static ResultSet rs=null;//结果
private static PreparedStatement ps=null;
public ArrayList executeQuery(String sql,String []paras)
{
ArrayList al=new ArrayList();
try {
ct=DBUtil.getCon();
ps=ct.prepareStatement(sql);
//给sql问号赋值
for (int i = 0; i < paras.length; i++)
{
ps.setString(i+1, paras[i]);
}
rs=ps.executeQuery();
//非常有用的
ResultSetMetaData rsmd=rs.getMetaData();
//用法rs可以的到有多少列
int columnNum=rsmd.getColumnCount();
//循环从a1中取出数据封装到ArrayList中
while(rs.next())
{
Object []objects=new Object[columnNum];
for(int i=0;i<objects.length;i++)
{
objects[i]=rs.getObject(i+1); //返回对象数组
}
al.add(objects);
}
return al;
} catch (Exception e)
{
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}finally
{
DBUtil.close(rs,ps,ct);
}
}
public ResultSet executeQuery(String sqlstr)
{
Statement stmt = null;
try
{
//得到连接
ct=DBUtil.getCon();
//ps=ct.prepareStatement(sqlstr);
stmt = ct.createStatement();
//创建结果集
rs = stmt.executeQuery(sqlstr);
//将结果集返回
return rs;
}
catch(SQLException e)
{
System.out.print("错误");
}
return null;
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
//主要用于完成对数据库的crud操作
public class SqlHelper
{
//定义需要的变量
private static Connection ct=null;//连接
private static ResultSet rs=null;//结果
private static PreparedStatement ps=null;
public ArrayList executeQuery(String sql,String []paras)
{
ArrayList al=new ArrayList();
try {
ct=DBUtil.getCon();
ps=ct.prepareStatement(sql);
//给sql问号赋值
for (int i = 0; i < paras.length; i++)
{
ps.setString(i+1, paras[i]);
}
rs=ps.executeQuery();
//非常有用的
ResultSetMetaData rsmd=rs.getMetaData();
//用法rs可以的到有多少列
int columnNum=rsmd.getColumnCount();
//循环从a1中取出数据封装到ArrayList中
while(rs.next())
{
Object []objects=new Object[columnNum];
for(int i=0;i<objects.length;i++)
{
objects[i]=rs.getObject(i+1); //返回对象数组
}
al.add(objects);
}
return al;
} catch (Exception e)
{
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}finally
{
DBUtil.close(rs,ps,ct);
}
}
public ResultSet executeQuery(String sqlstr)
{
Statement stmt = null;
try
{
//得到连接
ct=DBUtil.getCon();
//ps=ct.prepareStatement(sqlstr);
stmt = ct.createStatement();
//创建结果集
rs = stmt.executeQuery(sqlstr);
//将结果集返回
return rs;
}
catch(SQLException e)
{
System.out.print("错误");
}
return null;
}
}
应用实例
[java]
public class Test
{
<SPAN style="WHITE-SPACE: pre"> </SPAN>public static void main(String[] args)
<SPAN style="WHITE-SPACE: pre"> </SPAN>{
<SPAN style="WHITE-SPACE: pre"> </SPAN>SqlHelper sqlHelper=new SqlHelper();
<SPAN style="WHITE-SPACE: pre"> </SPAN>String sql="select *from stu";
<SPAN style="WHITE-SPACE: pre"> </SPAN>ArrayList al=sqlHelper.executeQuery(sql,null);
<SPAN style="WHITE-SPACE: pre"> </SPAN>ArrayList<Stu>stus=new ArrayList<Stu>();
<SPAN style="WHITE-SPACE: pre"> </SPAN>for(int i=0;i<al.size();i++)
<SPAN style="WHITE-SPACE: pre"> </SPAN>{
<SPAN style="WHITE-SPACE: pre"> </SPAN>Object[] obj=(Object[])al.get(i);
<SPAN style="WHITE-SPACE: pre"> </SPAN>Stu stu=new Stu();
<SPAN style="WHITE-SPACE: pre"> </SPAN>stu.setId(Integer.parseInt(obj[0].toString()));
<SPAN style="WHITE-SPACE: pre"> </SPAN>stu.setName(obj[1].toString());
<SPAN style="WHITE-SPACE: pre"> </SPAN>stus.add(sight);
<SPAN style="WHITE-SPACE: pre"> </SPAN>}
<SPAN style="WHITE-SPACE: pre"> </SPAN>//从list中读
<SPAN style="WHITE-SPACE: pre"> </SPAN>for(Stu s:stus){
<SPAN style="WHITE-SPACE: pre"> </SPAN>System.out.println(s.getName());
<SPAN style="WHITE-SPACE: pre"> </SPAN>}
<SPAN style="WHITE-SPACE: pre"> </SPAN>}
}
public class Test
{
public static void main(String[] args)
{
SqlHelper sqlHelper=new SqlHelper();
String sql="select *from stu";
ArrayList al=sqlHelper.executeQuery(sql,null);
ArrayList<Stu>stus=new ArrayList<Stu>();
for(int i=0;i<al.size();i++)
{
Object[] obj=(Object[])al.get(i);
Stu stu=new Stu();
stu.setId(Integer.parseInt(obj[0].toString()));
stu.setName(obj[1].toString());
stus.add(sight);
}
//从list中读
for(Stu s:stus){
System.out.println(s.getName());
}
}
}
- Java JDBC连接三种数据库
- Java JDBC连接三种数据库
- jdbc连接三种数据库
- JDBC---几种数据库进行连接
- 三种数据库的jdbc配置
- java实现三种数据库连接完整的demo
- 三种数据库连接池的配置及使用(For JDBC)
- JDBC连接数据库详细指南(包含MySQL、SQL Server、Oracle三种数据库)
- 三种数据库连接池的配置及使用(For JDBC)
- 三种数据库连接方式
- VB2010连接 三种数据库 源代码
- JDBC连接8种数据库的写法
- jdbc连接myslq和sql两种数据库代码
- 几种数据库的JDBC连接方法
- 三种数据库访问——原生JDBC
- java几种数据库连接
- Java 两种数据库的连接
- PHP的三种数据库连接方式
- android内存优化
- asp.net(c#)从Cache对象删除项
- 宏的用法
- 处理DIV元素嵌套情况下的事件响应
- hdu4300之KMP&&EKMP
- Java JDBC连接三种数据库
- 内存优化的一点总结
- 走迷宫
- delphi label固定宽度,超过长度就换行
- gfortran里面调用c语言的代码
-
- JSTL(JSP标准标签库)
- vector,map各种容器类型的使用方法总结
- 剖析 Linux hypervisor