Java连接数据库的方法大体分为两种:正向连接和反向连接。反向连接需要编译器提供相关的插件来支持,目前主流的java IDE都支持反向连接。这里主要对正向连接做一个经验总结。

一.数据库的配置

1.新建一个登录用户

登录数据库

本地idea测试连接redis idea连接本地sqlserver_sql

进入如下界面:

本地idea测试连接redis idea连接本地sqlserver_java_02

2.创建用户并配置用户权限

列表左侧中选择“安全性”-->“登陆名”,右键选择“新建登录名”,填写登陆名和密码。

本地idea测试连接redis idea连接本地sqlserver_java_03

左侧选择“服务器角色”,配置用户权限。权限根据实际使用来赋予,最后一个"sysadmin"是管理员权限,一般选这个就行。

本地idea测试连接redis idea连接本地sqlserver_java_04

退出当前登录的用户,试一试刚才创建的用户是否可以登录。同时随便创建一个表,待会儿数据库连接测试的时候用。

 

2.数据库端口设置

打开"SQL Server配置管理器"

本地idea测试连接redis idea连接本地sqlserver_SQL_05

启用右侧的SQLEXPRESS协议

本地idea测试连接redis idea连接本地sqlserver_sql_06

配置TCP/IP。双击”TCP/IP“,选择“IP地址”选项卡。这儿我配置的是:将IP6的ip配置为:127.0.0.1,IPALL配置为:1433。(这个配置信息要记住,Java连接数据库的时候用得到)

本地idea测试连接redis idea连接本地sqlserver_java_07

           

本地idea测试连接redis idea连接本地sqlserver_SQL_08

 

3.创建数据源

打开“控制面板”-->“管理工具”-->“数据源”,选择“系统DSN”选项卡,点击“添加”,选择“SQL Server”。

本地idea测试连接redis idea连接本地sqlserver_SQL_09

双击“SQL Server",填写数据库名称和服务器,描述可不填。

名称自己取,服务器就是你登录数据库时的服务器名称。

本地idea测试连接redis idea连接本地sqlserver_本地idea测试连接redis_10

登录ID选择使用用户输入登录(可以自己选择)

本地idea测试连接redis idea连接本地sqlserver_java_11

一直下一步,直到完成。

4.重启服务器

控制面板-->管理工具-->服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动。

本地idea测试连接redis idea连接本地sqlserver_java_12

 

6.使用Intellij IDEA连接SQL Server

新建一个Project,然后导入JDBC4.0的jar包。

本地idea测试连接redis idea连接本地sqlserver_java_13

本地idea测试连接redis idea连接本地sqlserver_sql_14

 

另:eclipse导入外部.jar包的方法

JDBC的jar包网上很多,下载下来是一个.exe程序,运行后会自动解压出来两个jdbc的包。注意:这里我们选择一个就行,不要两个都包含进去,因为sqljdbc.jar这个只支持java1.6及以下版本,如果两个都包含进去的话会默认用这个,从而导致不兼容。

使用下面代码实现数据库的连接:


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Created by crazyacking on 2015/6/27.
 */

public class DBLinkTestMain {

    public static void main(String args[]) {
        // Create a variable for the connection string.
        String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=DBLinkTest;integratedSecurity=true;";

        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=DBLinkTest;user=crazyacking;password=YOURPASSWORD";//sa身份连接

        String url2 = "jdbc:sqlserver://127.0.0.1:1433;databaseName=DBLinkTest;integratedSecurity=true;";//windows集成模式连接

        // Declare the JDBC objects.
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // Establish the connection.
            System.out.println("begin.");
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = DriverManager.getConnection(url);
            System.out.println("end.");

            // Create and execute an SQL statement that returns some data.
            String SQL = "SELECT  * FROM TestTable1";
            stmt = con.createStatement();
            rs = stmt.executeQuery(SQL);

            // Iterate through the data in the result set and display it.
            while (rs.next()) {
                System.out.println(rs.getString(1) + " " + rs.getString(2));
            }
        }

        // Handle any errors that may have occurred.
        catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (rs != null)
                try {
                    rs.close();
                } catch (Exception e) {
                }
            if (stmt != null)
                try {
                    stmt.close();
                } catch (Exception e) {
                }
            if (con != null)
                try {
                    con.close();
                } catch (Exception e) {
                }
        }
    }
}