前言
公司项目和第三方项目之间采用中间数据对接,需要通过配置文件配置数据库相关参数,然后操作Sql Server数据库。之前一直用Oracel数据库,针对这个需求,做了一个小的尝试和demo。----这是这篇博客的来源。
一、sql server 设置
具体Sql Server数据库的安装,网上有好多教程可以参考。
我本地安装的是Sql Server r2版本的数据库。
1、sql server 配置管理中,选择sql server网络配置 ----》 启用TCP/IP。
2、TCP/IP 右键----》属性:设置IP1的IP地址为127.0.0.1 ,IP10的IP地址为127.0.0.1 设置IPAll中IP端口为1433
3、重启sql server 服务,在sql server management studio中选择对象资源,右键,重新启动
二、下载驱动包sqljdbc41.jar
1、
官方下载路径:
https://www.microsoft.com/zh-cn/download/details.aspx?id=11774
点击下载,选择压缩包,进行下载。
2、
解压后,找sqljdbc41.jar包,在项目添加sqljdbc41.jar
3、下载的压缩包中也有调用示例。
三、代码调用示例
1、配置文件:config.properties
ZY_DB_URL=jdbc\:sqlserver\://localhost\:1433;databaseName=NetMeterDB
ZY_DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
ZY_DB_USERNAME=sa
ZY_DB_PASSWORD=123456
2、代码调用示例:
package com;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//配置文件中获取相关参数
Properties pro = new Properties();
InputStream ips = Test.class.getResourceAsStream("/config.properties");
try {
pro.load(ips);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//路径url
String url = pro.getProperty("ZY_DB_URL");
//驱动
String driver = pro.getProperty("ZY_DB_DRIVER");
//用户名
String userName = pro.getProperty("ZY_DB_USERNAME");
//密码
String passWord = pro.getProperty("ZY_DB_PASSWORD");
//获取连接
Connection con = getConection(url,driver,userName,passWord);
if(con == null){ //获取连接失败
System.out.println("数据库连接失败");
return;
}
//插入SQL
String sql = "insert into CmdInfo(CmdId,CmdName) "
+ " values(1,'测试')";
//查询SQL语句
String sql1 = "select * from CmdInfo";
try {
//执行insert sql
Statement stmt = con.createStatement();
int row = stmt.executeUpdate(sql);
System.out.println("insert 语句影响行数:"+row);
//执行select sql
ResultSet rs = stmt.executeQuery(sql1);
System.out.println("select 语句结果:");
while(rs.next()){
//有数据
int id = rs.getInt(1);//获得第一列的值
String name = rs.getString(2);//获得第二列的值
System.out.println(id+","+name);
}
//关闭
stmt.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 数据库连接
* @param url 路径
* @param driver 驱动
* @param userName 用户名
* @param passWord 密码
* @return 数据库连接
* @author ly
*/
public static Connection getConection(String url,String driver,String userName,String passWord)
{
Connection con = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url,userName,passWord);
System.out.println("连接数据库成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
}
3、执行结果
后台输出:
数据库:
四、注意事项
1、sql server配置中一定要启用TCP/IP。