网络编程
位置:首页>> 网络编程>> 数据库>> java实现连接mysql数据库单元测试查询数据的实例代码

java实现连接mysql数据库单元测试查询数据的实例代码

作者:jingxian  发布时间:2024-01-26 12:38:47 

标签:java,连接,mysql,数据库

1、按照javaweb项目的要求逐步建立搭建起机构,具体的类包有:model 、db、dao、test;

具体的架构详见下图:

java实现连接mysql数据库单元测试查询数据的实例代码

2、根据搭建的项目架构新建数据库test和数据库表t_userinfo并且添加对应的测试数据; (这里我使用的是绿色版的数据库,具体的下载地址:http://pan.baidu.com/s/1mg88YAc)

具体的建立数据库操作详见下图:

java实现连接mysql数据库单元测试查询数据的实例代码java实现连接mysql数据库单元测试查询数据的实例代码

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 连接数据库的操作
* 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连接数据库的操作
* @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 处理通过数据库的连接进行操作对象信息
* 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处理通过数据库的连接进行操作对象信息
* @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,同时也要导入数据库的连接mysq-connector-java-5.1.7-bin.jar  sqljdbc.jar,这样才可以连接到数据库;

5、所有的工作做好之后,就可以启动服务进行运行了查看结果了,如果在JUnit测试台和控制台出现如下结果就表示项目运行成功了。

java实现连接mysql数据库单元测试查询数据的实例代码

java实现连接mysql数据库单元测试查询数据的实例代码

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com