转载

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数据库单元测试查询数据项目分享

正文到此结束
Loading...