学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例

2012年3月 更新说明:此方法第二部为使用odbc,不是推荐的方法,详见我下一篇博客

----------------------------------------------------------------------------------------------------------------------------------------------------



用JDBC连接数据库的一般过程为——
*         1.载入JDBC驱动程序
*         2.定义连接URL
*         3.建立连接
*         4.创建Statement对象
*         5.执行查询或更新
*         6.结果处理
*         7.关闭连接

(感谢“圣思园”的张龙老师的教学视频 http://www.verycd.com/topics/2838873/ 真不赖 ~O(∩_∩)O哈哈~)

 


一。 在sql server中建立数据库

       启动Microsoft SQL Server Manngement Studio, 用混合模式登陆,用户名sa,密码设为password。

      关于登录模式和sa账户的密码修改,可参见以下文章

      《sql server 2008 r2 windows身份验证 改变为 混合登录模式》
       http://hi.baidu.com/%B9%F9%C0%FB%C8%F11woguolirui_/blog/item/d1172d33d73ec2ed1b4cff63.html
      《SQL Server 2000修改登录方式(混合登陆)》  (适用于sql server2008) 
      http://archive.cnblogs.com/a/1900585/

 

    建立一个名为Test1的数据库

                学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第1张图片

展开可以看到数据中只有默认的系统表存在,ok

 

 

 

 

二。建立数据库的数据源。

数据源:顾名思义,数据的来源。在数据源中存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。

 

过程:
控制面板-管理工具-数据源(ODBC)-系统DSN——点击添加—SQL Server

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第2张图片

名称 odbcYuan ,描述任意,服务器local,点击下一步——

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第3张图片

 

下一步,更改默认的数据库为Test1,即刚才创建的数据库

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第4张图片

 

下一步,可以机构选更改消息为中文

image

 

点击完成,会弹出配置信息的确认框

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第5张图片

 

可以点击测试数据源

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第6张图片

 

测试成功,确定,确定。

这样,系统DSN中就多了一个指向刚才在sqlserver2008中创建的空数据库Test1。

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第7张图片

 

 

 

 

 

三。创建Servlet连接数据库

在MyEclipse中new一个Web Project, 项目名testJDBC

把SQL Server的驱动程序jar包放到WebRoot 》WEB-INF》lib目录下(jar包可在 http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707下载)

新建一个Servlet,名为TestServlet,默认包,代码如下

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); //调用有关jdbc的方法 try { doSometing(out); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public void doSometing(PrintWriter out) throws SQLException, ClassNotFoundException { /* * 数据库连接的一般过程 * 1.载入JDBC驱动程序 * 2.定义连接URL * 3.建立连接 * 4.创建Statement对象 * 5.执行查询或更新 * 6.结果处理 * 7.关闭连接 */ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");// 1 String url = "jdbc:odbc:odbcYuan";// 2 其中odbc是系统dsn中的数据源名称 Connection connection = DriverManager.getConnection(url, "sa","password");// 3 Statement statement = connection.createStatement();// 4 fun(statement, out);// 5,6 statement.close();// 7 connection.close();// 7 } private void fun(Statement statement, PrintWriter out) throws SQLException { // 创建一个表,表名为 Users,包含字段name、password和email String command = "create table Users (name varchar(16) not null,password varchar(8) not null,email varchar(40) null)"; statement.execute(command); //在表Users中插入3条记录 statement.executeUpdate("insert into Users values('ZhangSan','1234','[email protected]')"); statement.executeUpdate("insert into Users values('ZhangXinqiang','lloveyou','[email protected]')"); statement.executeUpdate("insert into Users values('LiuErgou','dogdog','[email protected]')"); //查找表Users的所有记录,输出每条记录中字段“email”的值 ResultSet result = statement.executeQuery("select * from Users"); while (result.next()) { out.println("<h4>" + result.getString("email") + "</h4>"); } result.close();// 7 } }  

 

把项目配置到服务器中,然后启动服务器

在浏览器中输入 http://localhost:8080/testJDBC/servlet/TestServlet  回车

 

页面显示——

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第8张图片

 

在Microsoft SQL Server Manngement Studio中,在我们创建的数据Test1上右键刷新,展开,可以看到多了一张表Users。右键-编辑前200行,可以看到其中的数据,正是代码77-79行所插入的数据——

学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例_第9张图片

浏览器页面上的结果是每条记录中的email值,正是82-85行的执行结果

 

大功告成~~~~!!!!

成功地连接了数据库,在数据库中创建了一张表,在表中插入了3条记录,从表中查询了数据并显示出来~~大笑

 

 

 

/*------------------------------------------ 华丽飞分割线 ----------------------------------------------------------------------*/

 

 

ps1:

端午节,想家,没回家。

小程序猿,法力太浅,修炼,希望能早日成精~~成仙~~

YO4NNJM)`[{CXE(_T)YTJ_5[3]~DS0Y7MMUWTG_F8BPO~UKIC3U{((M9)5RTN`}R[U)$LUZ3

ps2:

现学现卖,我sql语句都还不会几条,照着张龙老师的教学视频依样画葫芦而能如此。

错误之处,请指正。

 

 

 


你可能感兴趣的:(sql,数据库,Web,jdbc,server,MyEclipse,Microsoft)