1 使用JDBC不再需要JDBC-ODBC时进行的数据源配置配置
2 但需要引入三个与JDBC操作相关的包:msbase.jar和mssqlserver.jar和msutil.jar
http://pan.baidu.com/s/1hrM1juc
3 使用eclipse进行,数据库的操作
与JDBC-ODBC区别主要在,驱动加载和建立连接
//-------------------------- JDBC-ODBC方式----------------------------------------
// 加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 得到连接 [指定哪个数据源,用户名和密码]mytest就是配置好的数据源名称
conn = DriverManager.getConnection(
"jdbc:odbc:mytest",
"sa", "111111");
//-------------------------- JDBC方式----------------------------------------
// 加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
// 得到连接 [指定数据库,用户名和密码]
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=LiangshanHeros",
"sa", "111111");
public static void main(String[] args) {
Connection conn = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
// 加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
// 得到连接 [指定哪个数据源,用户名和密码]
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=LiangshanHeros",
"sa", "111111");
// 创建Statement或者PreparedStatement区别
// statement主要用于发送sql语句到数据库
// statement = conn.createStatement();
statement = conn.prepareStatement("select avg(sal), max(sal), deptno, job from emp group by deptno, job order by job");
rs = statement.executeQuery();
// -------处理得到的数据,并格式化输出 --------------
int columns = rs.getMetaData().getColumnCount(); // 获得字段数
for (int i=1;i<=columns; i++) {
String columnName = rs.getMetaData().getColumnName(i);
System.out.print(columnName + "\t");
if(i==5) {
System.out.print("\t");
}
}
System.out.println();
while(rs.next()) {
for (int i=1;i<=columns; i++) {
String types = rs.getMetaData().getColumnTypeName(i);
if(types.equals("int")) {
System.out.print(rs.getInt(i) + "\t");
//System.out.print(rs.getInt("empno") + "\t"); // 也可以按照列名取
} else if(types.equals("numeric")) {
System.out.print(rs.getFloat(i) + "\t");
} else if(types.equals("nvarchar")) {
System.out.print(rs.getString(i) + "\t");
} else if(types.equals("datetime")) {
System.out.print(rs.getString(i) + "\t");
}
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(rs!=null) {
rs.close();
}
if(statement!=null) {
statement.close();
}
if(conn!=null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}