首先本文参考了http://blog.csdn.net/stewen_001/article/details/19553173这篇博主的文章,然后结合自己的心得整理。感谢!
一、设置数据库配置
1、安装SQL Server 2008时,一定要记得设置SQL Server身份验证方式,采用混合登录模式。如果安装时只设置了windows身份验证方式,可以按下面博主的文章进行设置:http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/。
2、SQL Server安装完后,默认TCP/IP协议没有开启,所以以SQL Server身份验证方式登录不了。(登录名为:./数据库实例名称)这是打开SQL Server配置管理器开启协议。
(1)、开启协议
(2)、配置协议
双击TCP/IP(右键→属性),在弹出的窗口中选择 “IP地址” 选项卡,将IP1和IP10的【IP地址】设为127.0.0.1,并将所有【IPx】的【已启用】设为是。接着,拖动下拉条到最下方,将 IPAll 中的【TCP端口】设成 【1433】,其余不变。
(3)、测试协议
重启计算机后,使用telnet命令测试1433端口是否打开。开始菜单 → 运行cmd → 输入:telnet 127.0.0.1 1433,(注意telnet与127之间有空格,1与1433之间有空格)。若提示“不能打开到主机的连接,在端口 1433: 连接失败”,则说明1433端口没有打开,需要重新进行以上配置。若连接成功,显示如下所示:
二、环境变量CLASSPATH设置
1、下载Microsoft JDBC Driver 4.2 for SQL Server。下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774。
(1)、版本说明:
Sqljdbc42.jar需要JRE8并支持JDBC4.2 API
受支持的数据库版本:SQL Server 2016、2014、2012、2008 R2、2008、2005、Azure SQL
(2)、下载所需压缩包:
(3)、解压文件,得到Sqljdbc42.jar。在C盘新建文件夹,命名为sqljdbc_4.2,将Sqljdbc42.jar复制进去。
(4)、右击 我的电脑 → 属性 → 高级系统设置(高级) → 环境变量,在系统变量中双击CLASSPATH变量(或选中CLASSPATH后 → 编辑),在最后面追加 “;C:\sqljdbc_4.2 \sqljdbc42.jar” (注意最前面有个 ; )若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设为“D:\sqljdbc4 \sqljdbc4.jar”。
完成以上4步,就完成了环境变量的设置了。
三、注意事项
1、我们需要将sqljdbc42.jar类库文件拷贝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目录下。
2、我们需要将sqljdbc42.jar类库文件拷贝到D:\Program Files\Java\jre7\lib\ext目录下 最好是,只要是jre文件夹,都复制一个sqljdbc42.jar到jre7\lib\ext里去!!
3、如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc42.jar类库文件拷贝到C:\apache-tomcat-7.0.11\lib目录下。
4、如果是使用Tomcat做服务器,那么我们需要将sqljdbc42.jar类库文件拷贝到D:\apache-tomcat-7.0.11\webapps\项目路径\WEB-INF\lib目录下
PS:只需要拷贝一个jar包(Sqljdbc42.jar)。
四、测试
1、在Eclipse新建JFinal项目,我采用的是c3p0连接池管理。导入c3p0-0.9.5.1.jar和sqljdbc-42.jar,配置C3P0插件配置文件。
2、config文件中配置插件
public static C3p0Plugin createC3p0Plugin() {
return new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
PropKit.get("password").trim(),PropKit.get("driverClass"));
}
public void configPlugin(Plugins me) {
//c3p0连接池插件
C3p0Plugin C3p0Plugin = createC3p0Plugin();
me.add(C3p0Plugin);
//数据库操作插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
me.add(arp);
//设置方言(很重要,一定要设置)
arp.setDialect(new AnsiSqlDialect());
arp.addMapping("[lumosity].[account].[account]", "userId", Account.class);
}
3、测试类
public class TestSql {
public static void main(String[] args) {
PropKit.use("c3p0config.properties");
C3p0Plugin C3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
PropKit.get("password").trim(),PropKit.get("driverClass"));
ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
arp.setDialect(new AnsiSqlDialect());
arp.addMapping("[lumosity].[account].[account]", "userId", Account.class);
//非web环境下,需要手动调用相关插件的start()方法
C3p0Plugin.start();
arp.start();
Account account = Account.dao.findById(1);
System.out.println("userId = " + account.getLong("userId") + "\n"
+"userName = " + account.getStr("userName")+ "\n"
+"email = " + account.getStr("email"));
}
}
4、测试结果
成功查询到数据库的数据,大功告成~