Java Blog From WeiChunHua

          Java

          導航

          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          留言簿(1)

          隨筆分類

          隨筆檔案

          相冊

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          develop

          news

          最新評論

          2008年12月2日 #

          JDBC連接數據庫大全

                    現在有好多初學jsp的網友經常會問數據庫怎么連接啊,怎么老出錯啊?所以我集中的在這寫篇文章供大家參考,其實這種把數據庫邏輯全部放在jsp里未必是好的做法,但是有利于初學者學習,所以我就這樣做了,當大家學到一定程度的時候,可以考慮用MVC的模式開發。在練習這些代碼的時候,你一定將jdbc的驅動程序放到服務器的類路徑里,然后要在數據庫里建一個表test,有兩個字段比如為test1test2,可以用下面SQL
          create table test(test1 varchar(20),test2 varchar(20)
          然后向這個表寫入一條測試紀錄
          那么現在開始我們的jsp和數據庫之旅吧。
          一、jsp連接Oracle8/8i/9i數據庫(用thin模式)
          testoracle.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
          String url="jdbc:oracle:thin:@localhost:1521:orcl";
          //orcl
          為你的數據庫的SID
          String user="scott";
          String password="tiger";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          二、jsp連接Sql Server7.0/2000數據庫
          testsqlserver.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
          //pubs
          為你的數據庫的
          String user="sa";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          三、jsp連接DB2數據庫
          testdb2.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
          String url="jdbc:db2://localhost:5000/sample";
          //sample
          為你的數據庫名
          String user="admin";
          String password="";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          四、jsp連接Informix數據庫
          testinformix.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
          String url =
          "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
          user=testuser;password=testpassword";
          //testDB
          為你的數據庫名
          Connection conn= DriverManager.getConnection(url);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          五、jsp連接Sybase數據庫
          testmysql.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("com.sybase.jdbc.SybDriver").newInstance();
          String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
          //tsdata
          為你的數據庫名
          Properties sysProps = System.getProperties();
          SysProps.put("user","userid");
          SysProps.put("password","user_password");
          Connection conn= DriverManager.getConnection(url, SysProps);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          六、jsp連接MySQL數據庫
          testmysql.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
          String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
          //testDB
          為你的數據庫名
          Connection conn= DriverManager.getConnection(url);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>
          七、jsp連接PostgreSQL數據庫
          testmysql.jsp
          如下:
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("org.postgresql.Driver").newInstance();
          String url ="jdbc:postgresql://localhost/soft"
          //soft
          為你的數據庫名
          String user="myuser";
          String password="mypassword";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("
          數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>

          posted @ 2008-12-17 16:47 sunny spring 閱讀(315) | 評論 (0)編輯 收藏

          Hibernate入門程序

                 以下程序是Hiberante入門程序:代碼如下:首先說hibernate開發流程.A、準備一個POJO類  B、創建類的映射和配置文件(hibernate.cfg.xml  class.hbm.xml)class.hbm.xml此配置文件是必須與POJO類中的屬性一一對應.
          現在我以我創建的程序為例來進行說明:數據庫為demo,表的名字為admin
          1、POJO類

          package com.wch.pojo;

          public class Admin {
           private int id;
           private String username;
           private String password;
           public int getId() {
            return id;
           }
           public void setId(int id) {
            this.id = id;
           }
           public String getPassword() {
            return password;
           }
           public void setPassword(String password) {
            this.password = password;
           }
           public String getUsername() {
            return username;
           }
           public void setUsername(String username) {
            this.username = username;
           }
          }

          class.hbm.xml映射文件存放位置必須于POJO位置一致.也就是說必須放在同一個目錄.hibernate.cfg.xml放在src根目錄下.
          2、創建hibernate.cfg.xml和class.hbm.xml(class指的是POJO類的名字)
          class.hbm.xml:
          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
          <!--
              Mapping file autogenerated by MyEclipse Persistence Tools
          -->
          <hibernate-mapping>
              <class name="com.wch.pojo.Admin" table="admin">
                  <id name="id" type="integer">
                      <column name="id" />
                      <generator class="assigned"></generator>
                  </id>
                  <property name="username" type="string">
                      <column name="username" length="32" not-null="false" />
                  </property>
                  <property name="password" type="string">
                      <column name="password" length="20" not-null="false" />
                  </property>
              </class>
          </hibernate-mapping>
          hibernate.cfg.xml:

          <?xml version='1.0' encoding='UTF-8'?>
          <!DOCTYPE hibernate-configuration PUBLIC
                    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

          <!-- Generated by MyEclipse Hibernate Tools.                   -->
          <hibernate-configuration>

          <session-factory>
           <property name="dialect">
            org.hibernate.dialect.MySQLDialect
           </property>
           <property name="connection.url">
            jdbc:mysql://localhost:3306/demo
           </property>
           <property name="connection.username">root</property>
           <property name="connection.password">****</property>
           <property name="connection.driver_class">
            com.mysql.jdbc.Driver
           </property>
           <property name="myeclipse.connection.profile">mysql5.0</property>
           <property name="show_sql">true</property>
           <mapping resource="com/wch/pojo/Admin.hbm.xml" />

          </session-factory>

          </hibernate-configuration>


          3、創建應用程序并進行代碼測試:

          package com.wch.op;

          import org.hibernate.Session;
          import org.hibernate.SessionFactory;
          import org.hibernate.Transaction;
          import org.hibernate.cfg.Configuration;

          import com.wch.pojo.Admin;

          public class UserOperation {
           public static void main(String[] args)throws Exception{
            Configuration config = new Configuration().configure();
            // 創建工廠
            SessionFactory factory = config.buildSessionFactory();
            // 打開session
            Session session = factory.openSession();
            // 事務提交
            try{
             Transaction tx = session.beginTransaction();
             // 創建對象
             Admin hb = new Admin();
             hb.setId(3);
             hb.setUsername("Hibernate3.2");
             hb.setPassword("20081202");
             //hb.setUsername("WCH");
             //hb.setPassword("Hibernate");
             // 執行插入語句,在hibernat中操作的是一個對象
             session.save(hb);
             // 提交事務
             tx.commit();
            }catch(Exception e)
            {
             System.out.println("error Msg:"+e.getMessage());
            }finally{
              // close session
              session.close();
            }
           }
          }

          更為詳細的解釋請參照Hibernate官方網站:www.hibernate.org


          posted @ 2008-12-02 10:19 sunny spring 閱讀(282) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 昌邑市| 高碑店市| 盐城市| 五华县| 澎湖县| 马鞍山市| 天柱县| 郎溪县| 田阳县| 通道| 高唐县| 灵山县| 梓潼县| 历史| 巩留县| 海门市| 阜阳市| 新余市| 沽源县| 沁水县| 赤水市| 正宁县| 巫山县| 呼和浩特市| 延吉市| 满洲里市| 威宁| 闽侯县| 商洛市| 临清市| 巧家县| 三都| 南康市| 郁南县| 依兰县| 睢宁县| 巢湖市| 宜春市| 万年县| 呼玛县| 湖州市|