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<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数据库单元测试查询数据项目分享的更多相关文章

  1. IntelliJ IDEA2017 java连接mysql数据库并查询数据

    最近自己开始重新学习java基础了,做java开发不可避免要处理数据库,由于好久不写java了,对idea也有点陌生了.所以这里写篇用jdbc来连接mysql的文章 至于mysql怎么装,请自行百度  ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  4. php 连接mysql数据库并显示数据 实例 转载

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  6. EF 连接MySQL 数据库  保存中文数据后乱码问题

    EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的 ...

  7. .NET 5/.NET Core使用EF Core 5连接MySQL数据库写入/读取数据示例教程

    本文首发于<.NET 5/.NET Core使用EF Core 5(Entity Framework Core)连接MySQL数据库写入/读取数据示例教程> 前言 在.NET Core/. ...

  8. JDBC Java 程序从 MySQL 数据库中读取数据,并封装到 Javabean 对象中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 连接 MySQL 数据库 用于测试的 M ...

  9. Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

    最近所写的代码中需要用到python去连接MySql数据库,因为是用PyQt5来构建的GUI,原本打算使用PyQt5中的数据库连接方法,后来虽然能够正确连接上发现还是不能提交修改内容,最后在qq交流群 ...

随机推荐

  1. java 集合(转载)

    一.集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. ...

  2. 验证视图状态MAC失败的解决办法

    在网上搜寻了很久看了很多关于MAC验证视图状态失败的解决方法.大部分人都说是在页里或web.config里加 EnableEventValidation="false" Enabl ...

  3. Linux 新建用户、用户组,给用户分配权限

    注:内容来自网络 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对 ...

  4. 软件测试就业必备知识点&自学软件测试-Dotest-2019

    软件测试就业必备知识点&自学测试&教学大纲-Dotest-2019

  5. Angular2入门-架构总览

    ▓▓▓▓▓▓ 大致介绍 在3月23日,Angular4正式发布(没有3).似乎现在学Angular2又晚了,又晚一步-_-||.Angular2在Angular1的基础上有了较大的改变.之前向一个同学 ...

  6. C#中==与equal的区别

    值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地 ...

  7. Spark大数据处理 之 RDD粗粒度转换的威力

    在从WordCount看Spark大数据处理的核心机制(2)中我们看到Spark为了支持迭代和交互式数据挖掘,而明确提出了内存中可重用的数据集RDD.RDD的只读特性,再加上粗粒度转换操作形成的Lin ...

  8. Qt 学习之路 2(9):资源文件

    Qt 学习之路 2(9):资源文件  豆子  2012年8月31日  Qt 学习之路 2  62条评论 上一章节中我们介绍了如何使用QAction添加动作.其中,我们使用QIcon加载了一张 png ...

  9. FPGA基础学习(1) -- FFT IP核(Quartus)

    为了突出重点,仅对I/O数据流为steaming的情况作简要说明,以便快速上手,有关FFT ip核模型及每种设置详细介绍请参考官方手册FFT MegaCore Function User Guide. ...

  10. HDU计算机学院大学生程序设计竞赛(2015’12)Happy Value

    Problem Description In an apartment, there are N residents. The Internet Service Provider (ISP) want ...