应用JDBC进行数据库开发--Dao模式

一、实训目标

     1、掌握dao模式。

     2、掌握分层开发的优势与原则。

     3、使用实体类传递数据。

     4、掌握数据访问层的职责。

二、实训内容

     1、用dao模式实现分层开发实现对数据库中学生信息表的保存,数据通过控制台输入。

     2、用dao模式实现分层开发实现对数据库中学生信息表的查询,查询信息输出到控制台。

三、实训步骤

       1、首先创建数据库和表。

            

      2、 然后进行开发

           步骤如下:

                              1、定义一个实体类Student

                              2、定义数据库连接与关闭类DataBase                              

                                    1)数据库连接方法

                                    2)数据库关闭方法                         

                              3、定义接口类 StudentDao

                                    1)学生信息保存方法

                                    2)查询学生信息方法

                              4、定义实现接口类 StudentDaoImpl。对接口中的方法进行实现。

                              5、 定义一个StudentManger

                                     通过控制台输入数据,并保存到实体类中。

                              6、定义一个测试类

                                   在main方法中调用StudentManger中的方法。

      参考代码:

           1.数据库连接和关闭工具类(BaseDao)

                 

                 

           2.、DAO接口(StudnetDao)            

packagecom.dao;
importjava.util.List;
publicinterfaceStudentDao {
	boolean save(Student stu); // 保存学生信息
}

          3.DAO实现类(StudnetDaoImpl)

                 

                

          4、实体类(Student)        

packagecom.entity;importjava.util.Date;
//实体类
publicclass Student implementsjava.io.Serializable {
	privatestaticfinallongserialVersionUID = -5870970190753783148L;
	private String sno; //  
	private String sname;//  
	private String sex;//  
	privateintage;// 
	private String pre;//  
	 	
	}//省略get和set方法
}

          5、开发业务类StudentManager在StudentManager中验证是否保存成功

                

        6、开发测试类Test,测试登录验证功能

               

         实现查询

                  1、实体类Student已完成

                  2、数据库连接与关闭工具DataBase已完成

                  3、在接口类StudnetDao中添加查询信息方法  

List<Student> findAll();//查询所有学生信息

                   4、在实现类StudentDaoImpl中添加查询信息的方法                

//查询学生信息
		public List<Student> findAll() {
				Connection conn = null;
				Statement stmt = null;
				ResultSet rs = null;
				List<Student> stuList = new ArrayList<Student>();
				try {
					conn = this.getConnection();
					stmt = conn.createStatement();
					String sql = "select * from student";
					rs = stmt.executeQuery(sql);
					while (rs.next()) {
						Student stu = new Student();
						stu.setSno(rs.getString(1));
						stu.setSname(rs.getString(2));
						stu.setSex(rs.getString(3));
						stu.setAge(rs.getInt(4));
						stu.setPre(rs.getString(5));
						stuList.add(stu);
						}
					}catch (SQLException e) {
						e.printStackTrace();
					} finally {
						this.closeAll(conn, stmt, rs);
					}
					return stuList;
			}	

                    5、在StudentManager类中增加显示学生信息的方法           

//加入显示学生信息的方法。
		public void showStudent(){
			StudentDao studentDao=new StudentDaoImpl();
			List <Student> stuList=studentDao.findAll();
			System.out.println("学号\t\t姓名\t性别\t年龄\t专业");
			for(int i=0;i<stuList.size();i++){
			    Student stu = stuList.get(i);
			    System.out.println(stu.getSno()+"\t"+stu.getSname()+
			   	"\t"+stu.getSex()+"\t"+stu.getAge()+"\t"+stu.getPre());
			}
		}

                      6、在测试类Test中进行测试。        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值