Java实训第三课

Java实训第三课

2020/7/11
1、接着Java实训第二课,我们在dao包内创建四个接口
在这里插入图片描述collegedao内代码为

import net.qiuzihan.student.bean.College;

/**
 * 功能:学校数据访问接口
 * 作者:邱紫含
 * 日期:2020年07月11日
 */
public interface CollegeDao {
    College findById(int id); // 按编号查询学校记录
    int update(College college); // 更新学校记录
}

status内代码为

/**
 * 功能:状态数据访问接口
 * 作者:邱紫含
 * 日期:2020年07月11日
 */
public interface StatusDao {
    StatusDao findById(int id); // 按编号查询状态记录
    int update(StatusDao status); // 更新状态记录
}

studentdao内代码为

	import java.util.List;
	import java.util.Vector;
	
	/**
	 * 功能:学生数据访问接口
	 * 作者:邱紫含
	 * 日期:2020年07月11日
	 */
	public interface StudentDao {
	    int insert(StudentDao student); // 插入学生记录
	    int deleteById(String id); // 按编号删除学生记录
	    int deleteByClass(String clazz); // 按班级删除学生记录
	    int deleteByDepartment(String department); // 按系部删除学生记录
	    int update(StudentDao student); // 更新学生记录
	    StudentDao findById(String id); // 按编号查询学生
	    List<StudentDao> findByName(String name); // 按姓名查询学生记录
	    List<StudentDao> findByClass(String clazz); // 按班级查询学生记录
	    List<StudentDao> findByDepartment(String department); // 按系部查询学生记录
	    List<StudentDao> findAll(); // 查询全部学生记录
	    Vector findRowsBySex(); // 按性别统计人数
	    Vector findRowsByClass(); // 按班级统计人数
	    Vector findRowsByDepartment(); // 按系部统计人数

userdao内代码为
import java.util.List;

/**
 * 功能:用户数据访问接口
 * 作者:邱紫含
 * 日期:2020年07月11日
 */
public interface UserDao {
    int insert(UserDao user); // 插入用户记录

    int deleteById(int id); // 按编号删除用户记录

    int update(UserDao user); // 更新用户记录

    UserDao findById(int id); // 按编号查询用户记录

    List<UserDao> findAll(); // 查询全部用户记录

    UserDao login(String username, String password); // 用户登录

    boolean isUsernameExisted(String username);// 判断用户名是否存在
}

2、在dbutil包内创建connecttionManager
其中代码为

import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 功能:数据库连接管理类
 * 作者:邱紫含
 * 日期:2020年7月11日
 */
public class ConnectionManager {
    private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
    private static final String URL = "jdbc:mysql://localhost:3306/student"; // 数据库统一资源标识符
    private static final String USER = "root"; // 数据库用户
    private static final String PASSWORD = "root"; // 数据库密码

    /**
     * 私有化构造方法,拒绝实例化
     */
    private ConnectionManager() {
    }

    /**
     * 获取数据库连接静态方法
     *
     * @return 数据库连接对象
     */
    public static Connection getConnection() {
        // 定义数据库连接
        Connection conn = null;

        try {
            // 安装数据库驱动程序
            Class.forName(DRIVER);
            // 获取数据库连接
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 返回数据库连接
        return conn;
    }

    /**
     * 关闭数据连接静态方法
     *
     * @param conn
     */
    public static void closeConnection(Connection conn) {
        // 判断数据库连接是否非空
        if (conn != null) {
            try {
                // 判断连接是否未关闭
                if (!conn.isClosed()) {
                    // 关闭数据库连接
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 主方法:测试两个静态方法
     *
     * @param args
     */
    public static void main(String[] args) {
        // 获取数据库连接
        Connection conn = getConnection();
        // 判断数据库连接是否成功
        if (conn != null) {
            JOptionPane.showMessageDialog(null, "恭喜,数据库连接成功!");
        } else {
            JOptionPane.showMessageDialog(null, "遗憾,数据库连接失败!");
        }
        // 关闭数据库连接
        closeConnection(conn);
    }
}

3、创建test包,在其中创建testcollegedaompl其中代码为
import net.qiuzihan.student.bean.College;
import net.qiuzihan.student.dao.CollegeDao;
import net.qiuzihan.student.dao.impl.CollegeDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class TestCollegeDaoImpl {
    //创建学校数据访问接口对象
    CollegeDao dao=new CollegeDaoImpl();
    @Before
    public void beforeTest() {
        System.out.println("温馨提示:单元测绘开始了");
    }
    @After
    public void afterTest() {
        System.out.println("温馨提示:单元测试结束了");
    }
    @Test
    public void testFindById() {
        //调用学校数据访问对象的查找方法,获取学校对象
        College college=dao.findById(1);
        //输出学校信息
        System.out.println("校名:"+college.getName());
        System.out.println("校长:"+college.getPresident());
        System.out.println("地址:"+college.getAddress());
        System.out.println("邮箱:"+college.getEmail());
        System.out.println("电话:"+college.getTelephone());
    }
    @Test
    public void testUpdate() {
        //调用学校数据访问对象的查询方法
        College college=dao.findById(1);
        //修改学校信息
        college.setPresident("王洪礼");
        //调用学校数据访问对象的更新方法
        int count=dao.update(college);
        //判断是否更新成功
        if (count>0) {
            System.out.println("学校记录更新成功!");
            System.out.println("新校长:"+dao.findById(1).getPresident());
        }else{
            System.out.println("学校记录更新失败!");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值