实训第二天(学生信息管理系统)
1.创建一个测试类TestStatusDaoImpl
2.代码如下
package net.zxk.student.test;
import net.zxk.student.bean.Status;
import net.zxk.student.dao.StatusDao;
import net.zxk.student.dao.impl.StatusDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestStatusDaoImpl {
@Before
public void beforeTest(){
System.out.println(“单元测试开始了”);
}
@Test
public void testFindByID(){
StatusDao dao=new StatusDaoImpl();
Status status=dao.findById(1);
System.out.println(status );
}
@Test
public void testUpdate(){
StatusDao dao =new StatusDaoImpl();
Status status =dao.findById(1);
status .setAuthor("小芳") ;
dao.update(status);
status =dao.findById(1);
System.out.println(status);
}
@After
public void afterTest(){
System.out.println("单元测试结束了");
}
}
测试结果如下
3.创建一个StudentDaoImpl(可以插入学生记录,利用insert into 语句。同样也可以删除记录)
package net.zxk.student.dao.impl;
import net.zxk.student.bean.Student;
import net.zxk.student.dao.StudentDao;
import net.zxk.student.dbutil.ConnectionManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;
/**
-
功能:学生数据访问接口实现类
-
作者:
-
日期:2019年6月18日
/
public class StudentDaoImpl implements StudentDao {
/*-
插入学生记录
-
@param student
-
@return
*/
@Override
public int insert(Student student) {
// 定义插入记录数
int count = 0;// 1. 获得数据库连接
Connection conn = ConnectionManager.getConnection();
// 2. 定义SQL字符串
String strSQL = “insert into t_student (id ,name, sex, age, department, class, telephone)”
+ " values (?,?, ?, ?, ?, ?, ?)";
try {
// 3. 创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
// 4. 设置占位符的值
pstmt.setString(1,student.getId());
pstmt.setString(2, student.getName());
pstmt.setString(3, student.getSex());
pstmt.setInt(4, student.getAge());
pstmt.setString(5, student.getDepartment());
pstmt.setString(6, student.getClazz());
pstmt.setString(7, student.getTelephone());
// 5. 执行SQL,返回插入记录数
count = pstmt.executeUpdate();
// 6. 关闭预备语句对象
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
ConnectionManager.closeConnection(conn);
}// 返回插入记录数
return count;
}
@Override
public int deleteById(String id) {
// 定义删除记录数
int count = 0;
// 1. 获得数据库连接
Connection conn = ConnectionManager.getConnection();
// 2. 定义SQL字符串
String strSQL = "delete from t_student where id=? ";
try {
// 3. 创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
// 4. 设置占位符的值
pstmt.setString(1,id);// 5. 执行SQL,返回删除记录数 count = pstmt.executeUpdate(); // 6. 关闭预备语句对象 pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 ConnectionManager.closeConnection(conn); } // 返回删除记录数 return count; }
@Override
public int deleteByClass(String clazz) {
return 0;
}@Override
public int deleteByDepartment(String department) {
return 0;
}@Override
public int update(Student student) {
return 0;
}@Override
public Student findById(String id) {
return null;
}@Override
public List findByName(String name) {
return null;
}@Override
public List findByClass(String clazz) {
return null;
}@Override
public List findByDepartment(String department) {
return null;
}@Override
public List findAll() {
return null;
}@Override
public Vector findRowsBySex() {
return null;
}@Override
public Vector findRowsByClass() {
return null;
}@Override
public Vector findRowsByDepartment() {
return null;
}
} -
4.创建一个测试类来测试TestStudentDaoImpl
package net.zxk.student.test;
import net.zxk.student.bean.Student;
import net.zxk.student.dao.StudentDao;
import net.zxk.student.dao.impl.StudentDaoImpl;
import org.junit.Test;
/**
-
功能:测试学生数据访问接口实现类
-
作者:周许苛
-
日期:2019年6月18日
*/
public class TestStudentDaoImpl {
@Test
public void testInsert(){
Student student=new Student();
student.setId(“18101009”);
student.setName(“小黑”);
student.setSex(“男”);
student.setAge(20);
student.setDepartment(“信息工程系”);
student.setClazz(“18大数据班”);
student.setTelephone(“16786662556”);StudentDao dao=new StudentDaoImpl(); int count=dao.insert(student); if(count>0){ System.out.println("恭喜,学生记录添加成功!"); }else{ System.out.println("遗憾,学生记录添加失败!"); }
}
@Test
public void testDeleteById(){
StudentDao dao=new StudentDaoImpl();
String id=“18101005”;
int count =dao.deleteById(id);
if(count>0){
System.out.println(“恭喜,学生记录删除成功!”);
}else{
System.out.println(“遗憾,学生记录删除失败!”);
}
}
}
运行一下看结果
5.这里报错的原因是因为之前添加过该记录,不能重复添加
6.这是表中的数据,表示添加成功