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

网友投稿 250 2023-07-02


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

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

具体的架构详见下图:

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

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

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 find(){

List list=new ArrayList();

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 voihttp://d 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 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测试台和控制台出现如下结果就表示项目运行成功了。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java持久层框架mybatis防止sql注入的方法
下一篇:Bootstrap图片轮播组件Carousel使用方法详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~