一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java實(shí)現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實(shí)例代碼

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

2020-06-26 15:23jingxian JAVA教程

下面小編就為大家?guī)硪黄猨ava實(shí)現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實(shí)例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

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

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

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

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

UserInfo.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/**
 * 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
 * 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/**
 * FileName:   UserInfoDao.java
 * @Description: TODO 處理通過數(shù)據(jù)庫的連接進(jìn)行操作對象信息
 * 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ù)庫的連接進(jìn)行操作對象信息
 * @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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/**
 * 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)容之后,在搭建項(xiàng)目過程中要加入輔助的JUnit的測試包junit.jar,同時也要導(dǎo)入數(shù)據(jù)庫的連接mysq-connector-java-5.1.7-bin.jar  sqljdbc.jar,這樣才可以連接到數(shù)據(jù)庫;

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

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国模娜娜a4u1546全套 | 波多野结衣178部中文字幕 | chinese帅男gayvideo | 色多多绿巨人视频 | 午夜精品区 | 亚洲国产精品网站久久 | 成人网视频免费播放 | 被老外玩爽的中国美女视频 | 香蕉久久高清国产精品免费 | 国产精品国产精品国产三级普 | 美女视频91 | 亚洲国产精品久久网午夜小说 | 欧美性一级交视频 | 香蕉免费看一区二区三区 | 91成人啪国产啪永久地址 | 暖暖 免费 高清 中文 日本 | 国产成人手机在线 | 精品午夜寂寞影院在线观看 | 91制片厂制作果冻传媒破解 | 四虎成人4hutv影院 | 精品免费国产 | 天天综合网天天做天天受 | 国产思妍小仙女一二区 | 久草在在线免视频在线观看 | 青草热久精品视频在线观看 | 543精品视频| 范冰冰性xxxxhd | 国内精品久久久久香蕉 | 国产精品视频一区二区三区经 | 日本老熟老太hd | 2022国产麻豆剧传媒古装 | 日韩综合一区 | 狠狠干狠狠插 | 日韩欧美亚洲一区精选 | 欧美一级乱妇老太婆特黄 | 国产99热99 | 欧美大片一区二区 | 99热网址| 先锋资源av | 国产精品亚洲片在线va | 免费特黄一区二区三区视频一 |