java连接 MySQL,Oracle,SQL Server 2012示例

所需第三方jar包:

    mysql-connector-java-5.1.18-bin.jar

    ojdbc6.jar

    sqljdbc4.jar

    百度云盘jdbc 下载地址http://pan.baidu.com/s/1c0nJbZq

    注意:测试数据随便录入几条即可 ^^


0.基本DB类:

package test.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DB
{
//  MySql连接配置
//	private static String driver = "com.mysql.jdbc.Driver";
//	private static String url = "jdbc:mysql://localhost:3306/test?user=root&password=";
//	private static String uName="root";
//	private static String pwd="";

//  Oracle连接配置
//	private static String driver = "oracle.jdbc.driver.OracleDriver";
//	private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
//	private static String uName="scott";
//	private static String pwd="scott";
	
//  SQL Server连接配置
//	private static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//	private static String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=test";
	private static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	private static String url = "jdbc:sqlserver://localhost:1433; DatabaseName=test";
	private static String user="sa";
	private static String password="MATH3759754340";
	
	private Connection conn;
	private PreparedStatement ps;
	private ResultSet rs;
	
	/**
	 * 获取数据库连接对象
	 * @return 连接对象
	 */
	public static Connection getConn()
	{
		Connection conn = null;
		try
		{
			Class.forName(driver);
			conn = DriverManager.getConnection(url,user,password);
			
		}catch(Exception ex)
		{
			System.out.println("数据库驱动  加载异常");
		}
		
		return conn;
	}
	
	/**
	 * 查询操作
	 * @param 查询占位语句
	 * @throws SQLException 
	 */
	public ResultSet query(String sql,Object[] parms) throws SQLException
	{
		// 获取连接
		conn = getConn();
		// 执行对象
		ps = conn.prepareStatement(sql);
		// 查询条件
		if(parms != null)
		{
			for (int i = 0; i < parms.length; i++)
			{
				ps.setString((i+1),parms[i].toString());
			}
		}
		// 执行查询,接受结果
		rs = ps.executeQuery();
		
		return rs;
	}
	
	/**
	 * 非查询操作
	 * @param 非查询占位语句
	 * @throws SQLException 
	 */
	public int update(String sql,Object[] parms) throws SQLException
	{
		// 获取连接
		conn = getConn();
		// 执行对象
		ps = conn.prepareStatement(sql);
		// 查询条件
		if(parms != null)
		{
			for (int i = 0; i < parms.length; i++)
			{
				ps.setString((i+1),(String) parms[i]);//遍历objs,为预处理的sql语句,一个个的设置条件,注意是从1开始,? ? ? ?  1234
			}
		}
		// 执行查询,接受结果
		int iRet = ps.executeUpdate();
		
		return iRet;
	}
	
	/**
	 * 关闭连接资源
	 */
	public void close()
	{
		try
		{
			if(conn!=null)
				conn.close();
			if(ps!=null)
				ps.close();
			if(rs!=null)
				rs.close();
		} catch (Exception e)
		{
			System.out.println("数据库资源释放,出现了异常");
		}
	}
	
}

1。测试MySQL连接

package test.jdbc;

import java.sql.ResultSet;
import java.sql.SQLException;

public class TestMySQL
{
	public static void main(String[] args) throws SQLException
	{
//		String sql = "insert into student(id,name,age) values(4,'wangwu',35)";
//		DB db = new DB();
//		int i = db.update(sql, null);
//		db.close();
//		if(i>0)
//			System.out.println("持久化操作成功");
//		
		
		System.out.println("====================================================");
		String sql1 = "select id,name,age from student where id=? ";
		Object[] prams = new Object[]{"4"};
		
		DB db1 = new DB();
		ResultSet rs = db1.query(sql1, prams);
		while(rs.next())
		{
			System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age"));
		}
		db1.close();
		
	}
	
	public void testQuery() throws SQLException
	{
		String sql = "insert into student(id,name,age) values(2,'lisi',40)";
		DB db = new DB();
		ResultSet rs = db.query(sql, null);
		while(rs.next())
		{
			System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age"));
		}
		
	}
	
}

测试输出结果:
====================================================
4	wangwu	35


2。测试Oracle连接

    代码:

package test.jdbc;

import java.sql.ResultSet;
import java.sql.SQLException;

public class TestOracle
{
	public static void main(String[] args) throws SQLException
	{
		String sql1 = "select empno,ename from emp";
		
		DB db1 = new DB();
		ResultSet rs = db1.query(sql1, null);
		System.out.println("empno"+"\t"+"ename");
		while(rs.next())
		{
			System.out.println(rs.getInt("empno")+"\t"+rs.getString("ename"));
		}
		db1.close();
	}
}

测试输出结果:
empno	ename
7369	SMITH
7499	ALLEN
7521	WARD
7566	JONES
7654	MARTIN
7698	BLAKE
7782	CLARK
7788	SCOTT
7839	KING
7844	TURNER
7876	ADAMS
7900	JAMES
7902	FORD


3。测试SQL Server连接

    代码:

package test.jdbc;

import java.sql.ResultSet;

public class TestSQLServer
{
	public static void main(String[] args) throws Exception
	{
		String sql1 = "select id,name,age from student";
		
		DB db1 = new DB();
		ResultSet rs = db1.query(sql1, null);
		System.out.println("id"+"\t"+"name"+"\t"+"age");
		while(rs.next())
		{
			System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age"));
		}
		db1.close();
	}
}

测试输出结果:
数据库驱动  加载异常
Exception in thread "main" java.lang.NullPointerException
	at test.jdbc.DB.query(DB.java:63)
	at test.jdbc.TestSQLServer.main(TestSQLServer.java:12)
初步分析:电脑上的 MSSQLSERVER服务程序确认打开为什么会出现驱动加载异常,难道是连接字符串小细节写错了?
实践推出:原因是 MSSQLSERVER服务的TCP/IP协议没有启用,启用TCP/IP协议,并重新启动MSSQLSERVER服务,就没错了。
此时测试输出结果:
id	name	age
1	张三	20
2	李四	25
3	王五	30


转载于:https://my.oschina.net/13650173523/blog/304531

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值