注1:做项目时老师说SQL server不错,遂回来开始研究。感觉和惯用的mysql差距很大。自己琢磨着一点点试出来的,没有经过系统的学习,所以可能会有一些问题。不过万幸的是测试通过,能读取数据~
注2:原创作品,欢迎转载。转载请注明出处:http://blog.youkuaiyun.com/yundixiaoduo/
操作系统 | win7 ultimate 7601 |
IDE | MyEclipse 8.6 for spring |
Tomcat版本 | 7.0.5 |
SQLserver版本 | 2008 SP2 |
一、 SQL Server的安装与配置
1、SQL server的安装:
复制到迅雷里,下载就行,3.2G 很大。。。thunder://QUFodHRwOi8vd3d3LnF1aWNrOC5jbi9kb3duLmFzcD9pZD0xMjM2JnNpZD0wWlo=
下载好后如果后缀为txt则改为iso,用Virtual CloneDrive 之类的虚拟光驱软件打开安装就行,安装时注册码输入:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 。跟着安装界面走就行,实在不会可以百度 “sqlserver 安装方法”一类的关键字,应有尽有。
2、下载 sp2 补丁
3、创建数据库
打开 Microsoft SQL Server Management Studio 直接点连接就能进去,如果进不去点下“服务器名称”旁的下拉列表,在里面换个其他可用的名称就行。
进去后在左侧“对象资源管理器”中右键选择“数据库”选择“新建数据库”。在这里面输入名称(Test)直接点确认就哦了。
4、创建登陆用户
同样在“对象资源管理器”,打开“安全性”右键点击“登录名”,选择“新建登录名”。
在“登录名”中写入用户名(testmanager),选择“SQL Server 身份验证”,在里面输入密码(123)。取消“强制密码实施策略”在最下方的“默认数据库”中选择刚才新建的数据库。
5、修改数据库所有者
在刚才新建的数据库(Test)上右键选择“属性”,之后的步骤如图:
6、小小的测试下
点击对象资源管理器的工具条上第一个:“连接”选择“数据库引擎”。又弹出了刚开始的那个登录框。“身份验证”选择“SQL Server 身份验证”这时输入刚才的用户名和密码。能进去就哦了~
7、建表
进去后,还是选择刚才添加的数据库(Test)右键点击,选择新建查询,直接输SQL语句就行。
create table Test
(ID int identity(1,1) PRIMARY KEY NOT NULL,
UserName varchar(25) NOT NULL,
pwd varchar(25) NOT NULL)
go
insert into Test
(UserName,pwd) values ('admin','admin')
go
二、配置Tomcat
进入Tomcat安装目录下的conf文件夹,打开context.xml,在最后一行前插入以下代码:
auth="Container"
type="javax.sql.DataSource"
username="TCSDBmanager"
password="NEUQ"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;databaseName=Test"
maxActive="8"
maxIdle="4"/>
三、Servlet
1、在MyEclipse中新建一个servlet,做好地址映射。
2、servlet中代码如下:
注:这里用到了QueryRunner这个工具类,非常强大,当然你也可以尝试用传统的方法来连接。
package user;
import java.io.IOException;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DataSource ds = null;
try {
Context ct = new InitialContext();
ds = (DataSource) ct.lookup("java:comp/env/jdbc/test");
} catch (NamingException e) {
e.printStackTrace();
}
QueryRunner qr = new QueryRunner(ds);
String sql = "select * from Users";
try {
UserBean user = (UserBean)qr.query(sql, new BeanHandler(UserBean.class));
System.out.println(user.getUsername());
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3、UserBean.java
package user;
public class UserBean {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
4、测试
在浏览器中输入刚才映射的地址,你就会在命令行窗口中看到admin~