Java连接Sql Server 2008的简单数据库应用
1.从微软官网下载JDBC驱动包
sqljdbc_4.0.2206.100_chs.exe,双击解压文件到指定目录,我的指定目录是:
C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs
下面是解压后的文件,
如果JDK版本低于6.0,则需使用sqljdbc.jar;
6.0以上版本使用sqljdbc4.jar,使用sqljdbc4.jar版本好处可以省略
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")这一段代码。
2.将sqljdbc4.jar所在文件路径添加到系统环境变量CLASSPATH中;
3.打开Sql Server 2008配置管理器(Sql Server Configuration Manager)
启动TCP/IP端口,并右击选择属性,将TCP地址端口设为1433(端口值可以自己定义范围在0~65535);
3.打开DOS命令行界面,输入netstat -a 命令查看开启了哪些端口:
netstat -a查看开启哪些端口
netstat -n查看端口的网络连接情况
netstat -v查看正在进行的工作
netstat -p tcp/ip查看某协议使用情况
netstat -s 查看正在使用的所有协议使用情况
4.连接数据库:
(1)用windows验证方式连接数据库:这种方式可能要求管理员权限,至少部分情况下会导致无法正常访问数据库。因此不建议采用!
(2)用sql server身份验证方式连接数据库。
如果安装sql server 2008 时是以windows身份验证安装的,没有为sql server 2008添加sql sever身份用户,需要首先添加用户:
打开Microsoft SQL Server Management Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sql server身份验证,在“状态”项中授予连接到数据库和登录启用;
右击对象资源管理器的根节点,选择属性->安全性->sql server和windows身份验证模式,然后就这样
创建了以sql server身份验证的用户sa。
我0创建的sa用户密码是"12345";
5.将sqljdbc4.jar导入到eclipse的项目中:
有两种方法导入jar包,第一种是先把jar包放在项目的目录下,通过添加jar包,是使用相对地址的,这样把项目复制到其它电脑也可以用
第二种方法是导入外部的jar包,是绝对地址,如果项目要复制到其它电脑又要重新导入
建议使用第一种方法!
1.右击要导入jar包的项目工程,点击properties
2.左边选择java build path,右边选择libraries
3.选择add External jars
4.选择jar包的所在路径下的sqljdbc4.jar,点击打开
6.连接Sql Server 2008数据库的Java代码:
连接数据库代码:
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test1;";
conn = DriverManager.getConnection(url ,"sa","12345");
完整代码:
在用Java连接数据库之前,先创建一个数据库或者导入一个数据库,然后Java连接并访问该数据库!
package JDBC_Test; import java.sql.SQLException; import java.sql.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; public class Test { public static void main(String[] args) { Connection conn; Statement stmt; ResultSet rs; String url = "jdbc:sqlserver://localhost:1433;DatabaseName=student_course;"; String sql = "select * from student"; try { // 连接数据库 conn = DriverManager.getConnection(url, "sa", "12345"); // 建立Statement对象 stmt = conn.createStatement(); /** * Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。 */ // 执行数据库查询语句 rs = stmt.executeQuery(sql); /** * ResultSet executeQuery(String sql) throws SQLException 执行给定的 SQL * 语句,该语句返回单个 ResultSet 对象 */ while (rs.next()) { int id = rs.getInt("Sno"); String name = rs.getString("Sname"); int age = rs.getInt("Sage"); System.out.println("Sno:" + id + "\tSame:" + name + "\tSage:" + age); } if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); System.out.println("数据库连接失败"); } } }