<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java Blog From WeiChunHua

    Java

    常用鏈接

    統計

    develop

    news

    最新評論

    2008年11月21日 #

    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 閱讀(312) | 評論 (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 閱讀(279) | 評論 (0)編輯 收藏

    windows系統命令全集

    ASSOC    顯示或修改文件擴展名關聯。
    AT       計劃在計算機上運行的命令和程序。
    ATTRIB   顯示或更改文件屬性。
    BREAK    設置或清除擴展式 CTRL+C 檢查。
    CACLS    顯示或修改文件的訪問控制列表(ACLs)。
    CALL     從另一個批處理程序調用這一個。
    CD       顯示當前目錄的名稱或將其更改。
    CHCP     顯示或設置活動代碼頁數。
    CHDIR    顯示當前目錄的名稱或將其更改。
    CHKDSK   檢查磁盤并顯示狀態報告。
    CHKNTFS  顯示或修改啟動時間磁盤檢查。
    CLS      清除屏幕。
    CMD      打開另一個 Windows 命令解釋程序窗口。
    COLOR    設置默認控制臺前景和背景顏色。
    COMP     比較兩個或兩套文件的內容。
    COMPACT  顯示或更改 NTFS 分區上文件的壓縮。
    CONVERT  將 FAT 卷轉換成 NTFS。您不能轉換
             當前驅動器。
    COPY     將至少一個文件復制到另一個位置。
    DATE     顯示或設置日期。
    DEL      刪除至少一個文件。
    DIR      顯示一個目錄中的文件和子目錄。
    DISKCOMP 比較兩個軟盤的內容。
    DISKCOPY 將一個軟盤的內容復制到另一個軟盤。
    DOSKEY   編輯命令行、調用 Windows 命令并創建宏。
    ECHO     顯示消息,或將命令回顯打開或關上。
    ENDLOCAL 結束批文件中環境更改的本地化。
    ERASE    刪除至少一個文件。
    EXIT     退出 CMD.EXE 程序(命令解釋程序)。
    FC       比較兩個或兩套文件,并顯示
             不同處。
    FIND     在文件中搜索文字字符串。
    FINDSTR  在文件中搜索字符串。
    FOR      為一套文件中的每個文件運行一個指定的命令。
    FORMAT   格式化磁盤,以便跟 Windows 使用。
    FTYPE    顯示或修改用于文件擴展名關聯的文件類型。
    GOTO     將 Windows 命令解釋程序指向批處理程序
             中某個標明的行。
    GRAFTABL 啟用 Windows 來以圖像模式顯示
             擴展字符集。
    HELP     提供 Windows 命令的幫助信息。
    IF       執行批處理程序中的條件性處理。
    LABEL    創建、更改或刪除磁盤的卷標。
    MD       創建目錄。
    MKDIR    創建目錄。
    MODE     配置系統設備。
    MORE     一次顯示一個結果屏幕。
    MOVE     將文件從一個目錄移到另一個目錄。
    PATH     顯示或設置可執行文件的搜索路徑。
    PAUSE    暫停批文件的處理并顯示消息。
    POPD     還原 PUSHD 保存的當前目錄的上一個值。
    PRINT    打印文本文件。
    PROMPT   更改 Windows 命令提示符。
    PUSHD    保存當前目錄,然后對其進行更改。
    RD       刪除目錄。
    RECOVER  從有問題的磁盤恢復可讀信息。
    REM      記錄批文件或 CONFIG.SYS 中的注釋。
    REN      重命名文件。
    RENAME   重命名文件。
    REPLACE  替換文件。
    RMDIR    刪除目錄。
    SET      顯示、設置或刪除 Windows 環境變量。
    SETLOCAL 開始批文件中環境更改的本地化。
    SHIFT    更換批文件中可替換參數的位置。
    SORT     對輸入進行分類。
    START    啟動另一個窗口來運行指定的程序或命令。
    SUBST    將路徑跟一個驅動器號關聯。
    TIME     顯示或設置系統時間。
    TITLE    設置 CMD.EXE 會話的窗口標題。
    TREE     以圖形模式顯示驅動器或路徑的目錄結構。
    TYPE     顯示文本文件的內容。
    VER      顯示 Windows 版本。
    VERIFY   告訴 Windows 是否驗證文件是否已正確
             寫入磁盤。
    VOL      顯示磁盤卷標和序列號。
    XCOPY    復制文件和目錄樹。

    posted @ 2008-12-01 15:58 sunny spring 閱讀(251) | 評論 (0)編輯 收藏

    quartz 詳解

             最近在開發的過程中,經常要使用系統自動清零的操作,比如說:系統在給定的時間跟客戶發送電子郵件,在指定的時間段內執行某些操作等等,如果我們只是人工去操作的話不但步驟非常的麻煩而且覺得這是一個工作量非常大的任務,有了quartz框架以后我們所有的任務多可以交給它去做,程序員唯一要做的只是編寫代碼并配置一下程序就OK了,這樣大大提高了開發速度和工作效率.配置步驟如下:
    1、編寫quartz.properties文件:代碼如下:
    #============================================================================
    # Configure Main Scheduler Properties 
    #============================================================================
    org.quartz.scheduler.instanceName = QuartzScheduler
    org.quartz.scheduler.instanceId = AUTO
    #org.quartz.scheduler.rmi.export = false
    #org.quartz.scheduler.rmi.proxy = false
    #============================================================================
    # Configure ThreadPool 
    #============================================================================
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount = 4
    org.quartz.threadPool.threadPriority = 5
    #============================================================================
    # Configure Plugins
    #============================================================================
    #org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
    org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
    org.quartz.plugin.jobInitializer.fileName = /scheduler/quartz_job.xml
    org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
    org.quartz.plugin.jobInitializer.failOnFileNotFound = true
    org.quartz.plugin.jobInitializer.scanInterval = 10
    org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
    org.quartz.plugin.shutdownhook.cleanShutdown = true
    #org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
    2、編寫quartz_job.xml
    <?xml version='1.0' encoding='utf-8'?>
    <quartz>
    <job>
       <job-detail>
         <name>test</name>
         <group>DEFAULT</group>
         <description>testJobhere</description>
         <job-class>scheduler.TestJob</job-class>
         <job-data-map allows-transient-data="true">
          <entry>
           <key>name</key>
           <value>test</value>
          </entry>
        </job-data-map>
      </job-detail>
       <trigger>
                  <cron>
                       <name>testCron</name>
                       <group>DEFAULT</group>
                       <job-name>test</job-name>
                      <job-group>DEFALUT</job-group>
                      <!--x/?  x表示間斷啟動時間  ?表示執行間隔時間  13啟動時間-->
                      <cron-expression>0 1/2 23 * * ?</cron-expression>
                      <!--每月1號0點執行
                       <cron-expression>0 1 0 1 1-12 ?</cron-expression>
                       -->
                  </cron>
            </trigger>
    </job>
    3、編寫java代碼進行測試:
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    public class ZeroCount implements Job{
        public void execute(JobExecutionContext context) throws JobExecutionException
     {
        String name = context.getJobDetail().getJobDataMap().getString("name");
    System.out.println(name);

    }
    }
    出下以下結果表示配置成功:
    test
    4、此步驟是最后一步也是最重要的一步,只要加入如下代碼的到/WEB-INF/web.xml文件中在指定的時間內就會執行系統調度.
    <servlet>
        <servlet-name>QuartzInitializer</servlet-name>
        <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
        <init-param>
         <param-name>config-file</param-name>
         <param-value>/quartz.properties</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <init-param>
         <param-name>shutdown-on-unload</param-name>
         <param-value>true</param-value>
        </init-param>
        <init-param>
         <param-name>start-scheduler-on-load</param-name>
         <param-value>true</param-value>
        </init-param>
    </servlet>

    參考網站:http://www.iocblog.net/project/quartz.html

    posted @ 2008-11-21 14:38 sunny spring 閱讀(4511) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 免费黄色app网站| 91精品国产免费久久久久久青草| 91久久亚洲国产成人精品性色| 亚洲天堂免费在线视频| 自拍偷自拍亚洲精品播放| 国产成人免费片在线观看| 亚洲狠狠成人综合网| 色视频色露露永久免费观看| 亚洲国产高清国产拍精品| 四虎免费永久在线播放| 一区二区三区免费高清视频| 亚洲中文字幕成人在线| 在线观看肉片AV网站免费| 久久精品亚洲中文字幕无码麻豆| 国产精品无码亚洲精品2021 | 亚洲精品高清一二区久久| 国产精品亚洲精品日韩动图 | 特级毛片A级毛片100免费播放| 日批视频网址免费观看| 亚洲AV无码成人网站久久精品大| 亚洲国产美女精品久久久| 免费观看亚洲人成网站| 中文字幕不卡免费视频| 日韩亚洲AV无码一区二区不卡| 国产亚洲精品AAAA片APP| 亚洲国产天堂久久综合| 久久青青草原国产精品免费| 亚洲免费闲人蜜桃| 国产精品四虎在线观看免费| 一级毛片免费在线播放| 亚洲一区二区三区电影| 国产成人无码免费视频97 | 99久久99久久精品免费看蜜桃| 亚洲人午夜射精精品日韩| 久久这里只精品热免费99| 亚洲三级高清免费| 国产亚洲精品xxx| 我要看免费的毛片| 免费萌白酱国产一区二区三区| 免费一级国产生活片| 日本一区午夜艳熟免费|