java實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼
1、按照javaweb項目的要求逐步建立搭建起機構,具體的類包有:model 、db、dao、test;
具體的架構詳見下圖:

2、根據(jù)搭建的項目架構新建數(shù)據(jù)庫test和數(shù)據(jù)庫表t_userinfo并且添加對應的測試數(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無參的構造方法
* @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、在編寫好類內容之后,在搭建項目過程中要加入輔助的JUnit的測試包junit.jar,同時也要導入數(shù)據(jù)庫的連接mysq-connector-java-5.1.7-bin.jar sqljdbc.jar,這樣才可以連接到數(shù)據(jù)庫;
5、所有的工作做好之后,就可以啟動服務進行運行了查看結果了,如果在JUnit測試臺和控制臺出現(xiàn)如下結果就表示項目運行成功了。


以上就是小編為大家?guī)淼膉ava實現(xiàn)連接mysql數(shù)據(jù)庫單元測試查詢數(shù)據(jù)的實例代碼全部內容了,希望大家多多支持腳本之家~
相關文章
Java list與set中contains()方法效率案例詳解
這篇文章主要介紹了Java list與set中contains()方法效率案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-08-08
SpringBoot中的@Configuration注解詳解
這篇文章主要介紹了SpringBoot中的@Configuration注解詳解,Spring Boot推薦使用JAVA配置來完全代替XML 配置,JAVA配置就是通過 @Configuration和 @Bean兩個注解實現(xiàn)的,需要的朋友可以參考下2023-08-08
Java MongoDB數(shù)據(jù)庫連接方法梳理
MongoDB作為一種介于關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫之間的產品,它可以提供可擴展的高性能的數(shù)據(jù)存儲解決方案,近些年來受到了開發(fā)者的喜愛2022-08-08

