最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼

 更新時間:2016年10月21日 09:03:59   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、按照javaweb項目的要求逐步建立搭建起機構(gòu),具體的類包有:model 、db、dao、test;

具體的架構(gòu)詳見下圖:

2、根據(jù)搭建的項目架構(gòu)新建數(shù)據(jù)庫test和數(shù)據(jù)庫表t_userinfo并且添加對應(yīng)的測試數(shù)據(jù); (這里我使用的是綠色版的數(shù)據(jù)庫,具體的下載地址:http://pan.baidu.com/s/1mg88YAc)

具體的建立數(shù)據(jù)庫操作詳見下圖:

3、編寫包中的各種類代碼,具體參考代碼如下:

UserInfo.java

/**
 * FileName:   UserInfo.java
 * @Description: TODO封裝對象的信息
 * Copyright: personage 
 * Company personage  
 * @author:  gaoxing
 * @version  V1.0
 * Createdate:     2014-5-25 下午2:26:41
 *
 * Modification History:
 * Date     Author    Version    Discription
 * -----------------------------------------------------------------------------------
 * 2014-5-25    GX     1.0       1.0
 * Why & What is modified: <修改原因描述>
 */
package com.org.user.model;
 
/**
 * @ClassName:   UserInfo
 * @Description:TODO封裝對象的信息
 * @author:  gaoxing
 * @date:    2014-5-25 下午2:26:41
 */
public class UserInfo {
   private int userid;
    private String username;
    private String password;
    
/**
   * @Title:    UserInfo
   * @Description:  TODO(描述這個方法的作用)
   * @param:  @param userid
   * @param:  @param username
   * @param:  @param password
   * @throws
   */
  public UserInfo(int userid, String username, String password) {
    super();
    this.userid = userid;
    this.username = username;
    this.password = password;
  }
   
/**
 * @Title:    UserInfo
 * @Description:  TODO無參的構(gòu)造方法
 * @param:  
 * @throws
 */
public UserInfo() {
  super();
}
 
public int getUserid() {
    return userid;
  }
  public void setUserid(int userid) {
    this.userid = userid;
  }
  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;
  }
 
}

UserInfoDBManger.java

/**
 * FileName:   UserInfoDBManger.java
 * @Description: TODO 連接數(shù)據(jù)庫的操作
 * Copyright: personage 
 * Company personage  
 * @author:  gaoxing
 * @version  V1.0
 * Createdate:     2014-5-25 下午2:47:38
 *
 * Modification History:
 * Date     Author    Version    Discription
 * -----------------------------------------------------------------------------------
 * 2014-5-25    GX     1.0       1.0
 * Why & What is modified: <修改原因描述>
 */
package com.org.user.db;
 
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
 
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
 
/**
 * @ClassName: UserInfoDBManger
 * @Description:TODO連接數(shù)據(jù)庫的操作
 * @author: gaoxing
 * @date: 2014-5-25 下午2:47:38
 */
public class UserInfoDBManger {
  private static Connection conn = null;
  private PreparedStatement ps = null;
  private ResultSet rs = null;
 
  public static Connection getConn() {
    String url = "jdbc:mysql://localhost:3306/test";
    try {
      Class.forName("com.mysql.jdbc.Driver");
      try {
        conn = (Connection) DriverManager.getConnection(url, "root",
            "mysql");
      } catch (SQLException e) {
        System.out.println(e.getMessage());
      }
    } catch (ClassNotFoundException e) {
      System.out.println(e.getMessage());
    }
    return conn;
  }
 
  public void close() {
    try {
      rs.close();
      ps.close();
      conn.close();
    } catch (SQLException e) {
      e.getMessage();
    }
  }
   
}

UserInfoDao.java

/**
 * FileName:   UserInfoDao.java
 * @Description: TODO 處理通過數(shù)據(jù)庫的連接進行操作對象信息
 * Copyright: personage 
 * Company personage  
 * @author:  gaoxing
 * @version  V1.0
 * Createdate:     2014-5-25 下午2:36:09
 *
 * Modification History:
 * Date     Author    Version    Discription
 * -----------------------------------------------------------------------------------
 * 2014-5-25    GX     1.0       1.0
 * Why & What is modified: <修改原因描述>
 */
package com.org.user.dao;
 
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.org.user.db.UserInfoDBManger;
import com.org.user.model.UserInfo;
 
/**
 * @ClassName:   UserInfoDao
 * @Description:TODO處理通過數(shù)據(jù)庫的連接進行操作對象信息
 * @author:  gaoxing
 * @date:    2014-5-25 下午2:36:09
 */
public class UserInfoDao {
  Connection conn=null;
  PreparedStatement ps=null;
  ResultSet rs=null;
  public  List<UserInfo> find(){
    List<UserInfo> list=new ArrayList<UserInfo>();
    String sql="select * from t_userinfo ";
    conn=UserInfoDBManger.getConn();
    try {
      ps=(PreparedStatement) conn.prepareStatement(sql);
      rs=ps.executeQuery();
      while (rs.next()) {
        UserInfo ui=new UserInfo();
         ui.setUserid(rs.getInt(1));
         ui.setUsername(rs.getString(2));
         ui.setPassword(rs.getString(3));
        list.add(ui);
         
      }
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return list;
  }
}

UserInfoTest.java

/**
 * FileName:   UserInfoTest.java
 * @Description: TODO測試dao包的方法
 * Copyright: personage 
 * Company personage  
 * @author:  gaoxing
 * @version  V1.0
 * Createdate:     2014-5-25 下午5:43:03
 *
 * Modification History:
 * Date     Author    Version    Discription
 * -----------------------------------------------------------------------------------
 * 2014-5-25    GX     1.0       1.0
 * Why & What is modified: <修改原因描述>
 */
package com.org.user.test;
 
import static org.junit.Assert.*;
 
import java.util.List;
 
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
 
import com.org.user.dao.UserInfoDao;
import com.org.user.model.UserInfo;
 
/**
 * @ClassName:   UserInfoTest
 * @Description:TODO 測試dao包的方法
 * @author:  gaoxing
 * @date:    2014-5-25 下午5:43:03
 */
public class UserInfoTest {
 
  /**
   * @Title: setUpBeforeClass
   * @Description: TODO(描述這個方法的作用)
   * @param: @throws java.lang.Exception 
   * @return: void 
   * @throws
   */
  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
  }
 
  /**
   * @Title: tearDownAfterClass
   * @Description: TODO(描述這個方法的作用)
   * @param: @throws java.lang.Exception 
   * @return: void 
   * @throws
   */
  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  }
 
  /**
   * Test method for {@link com.org.user.dao.UserInfoDao#find()}.
   */
  @Test
  public void testFind() {
     UserInfoDao udao=new UserInfoDao();
     List<UserInfo> list=udao.find();
     for (int i = 0; i < list.size(); i++) {
       UserInfo ui=list.get(i);
       System.out.println("名稱: "+ui.getUsername()+"密碼: "+ui.getPassword());
 
    }
  }
 
}

4、在編寫好類內(nèi)容之后,在搭建項目過程中要加入輔助的JUnit的測試包junit.jar,同時也要導(dǎo)入數(shù)據(jù)庫的連接mysq-connector-java-5.1.7-bin.jar  sqljdbc.jar,這樣才可以連接到數(shù)據(jù)庫;

5、所有的工作做好之后,就可以啟動服務(wù)進行運行了查看結(jié)果了,如果在JUnit測試臺和控制臺出現(xiàn)如下結(jié)果就表示項目運行成功了。

以上就是小編為大家?guī)淼膉ava實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • SpringBoot使用前綴樹過濾敏感詞的方法實例

    SpringBoot使用前綴樹過濾敏感詞的方法實例

    Trie也叫做字典樹、前綴樹(Prefix Tree)、單詞查找樹,特點:查找效率高,消耗內(nèi)存大,這篇文章主要給大家介紹了關(guān)于SpringBoot使用前綴樹過濾敏感詞的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • SSM框架下實現(xiàn)登錄注冊的示例代碼

    SSM框架下實現(xiàn)登錄注冊的示例代碼

    這篇文章主要介紹了SSM框架下實現(xiàn)登錄注冊的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java學(xué)習(xí)粗略路線的方法

    java學(xué)習(xí)粗略路線的方法

    下面小編就為大家?guī)硪黄猨ava學(xué)習(xí)粗略路線的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Java list與set中contains()方法效率案例詳解

    Java list與set中contains()方法效率案例詳解

    這篇文章主要介紹了Java list與set中contains()方法效率案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • springboot使用事物注解方式代碼實例

    springboot使用事物注解方式代碼實例

    這篇文章主要介紹了springboot使用事物注解方式代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java在PDF中替換文字詳解及可能遇到的問題

    Java在PDF中替換文字詳解及可能遇到的問題

    本文詳細介紹了如何使用Java和Spire.PDF?for?Java庫在PDF文檔中批量替換文字,包括替換特定文字的所有實例、第一個實例以及使用正則表達式,同時,探討了可能遇到的問題及其解決方案,需要的朋友可以參考下
    2024-09-09
  • SpringBoot中的@Configuration注解詳解

    SpringBoot中的@Configuration注解詳解

    這篇文章主要介紹了SpringBoot中的@Configuration注解詳解,Spring Boot推薦使用JAVA配置來完全代替XML 配置,JAVA配置就是通過 @Configuration和 @Bean兩個注解實現(xiàn)的,需要的朋友可以參考下
    2023-08-08
  • 詳細全面解析Java泛型

    詳細全面解析Java泛型

    這篇文章主要介紹了詳細全面解析Java泛型,java泛型主要提高了Java 程序的類型安全,通過知道使用泛型定義的變量的類型限制,編譯器可以驗證類型假設(shè),消除源代碼中的許多強制類型轉(zhuǎn)換等多個有點,下面我們進入文章了解更多的詳細內(nèi)容吧
    2022-02-02
  • HashSet如何保證元素不重復(fù)(面試必問)

    HashSet如何保證元素不重復(fù)(面試必問)

    HashSet 不保證集合的迭代順序,但允許插入 null 值,也就是說它可以將集合中的重復(fù)元素自動過濾掉,保證存儲在 HashSet 中的元素都是唯一的,這篇文章主要介紹了HashSet如何保證元素不重復(fù)(面試必問),需要的朋友可以參考下
    2021-12-12
  • Java MongoDB數(shù)據(jù)庫連接方法梳理

    Java MongoDB數(shù)據(jù)庫連接方法梳理

    MongoDB作為一種介于關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫之間的產(chǎn)品,它可以提供可擴展的高性能的數(shù)據(jù)存儲解決方案,近些年來受到了開發(fā)者的喜愛
    2022-08-08

最新評論

台南市| 永登县| 广水市| 盐亭县| 盐城市| 长治市| 轮台县| 内乡县| 梅州市| 安远县| 泗洪县| 五大连池市| 尼勒克县| 策勒县| 丰城市| 深州市| 拉孜县| 宜良县| 萨嘎县| 富阳市| 大埔区| 潜江市| 南和县| 阿坝| 嫩江县| 定结县| 九江县| 基隆市| 象山县| 乌拉特前旗| 天长市| 延安市| 安义县| 桂林市| 临汾市| 义马市| 称多县| 湖口县| 孝感市| 都江堰市| 平塘县|