標籤:
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 blocke.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 */@BeforeClasspublic static void setUpBeforeClass() throws Exception {}/** * @Title: tearDownAfterClass * @Description: TODO(描述這個方法的作用) * @param: @throws java.lang.Exception * @return: void * @throws */@AfterClasspublic static void tearDownAfterClass() throws Exception {}/** * Test method for {@link com.org.user.dao.UserInfoDao#find()}. */@Testpublic 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資料庫單元測試查詢資料項目分享