zoukankan      html  css  js  c++  java
  • 查询所有学生记录和查询S1年级以下的学生记录试题

     查询所有学生信息,年级信息以年级名称显示

      一、DAO层搭建:

        1.实体类:

          Student

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    package com.myschool.entity;
     
    import java.io.Serializable;
    import java.util.Date;
     
    public class Student implements Serializable {
         
        private static final long serialVersionUID = 6439763802252472361L;
         
        //定义实体属性
        private int studentNo;
        private String longinPwd;
        private String studentName;
        private int sex;
        private grade grade;//把年级对象作为属性
        private String phone;
        private String address;
        private Date bornDate;
        private String email;
        private String identityCard;
         
            //封装
        public int getStudentNo() {
            return studentNo;
        }
        public void setStudentNo(int studentNo) {
            this.studentNo = studentNo;
        }
        public String getLonginPwd() {
            return longinPwd;
        }
        public void setLonginPwd(String longinPwd) {
            this.longinPwd = longinPwd;
        }
        public String getStudentName() {
            return studentName;
        }
        public void setStudentName(String studentName) {
            this.studentName = studentName;
        }
        public int getSex() {
            return sex;
        }
        public void setSex(int sex) {
            this.sex = sex;
        }
        public grade getGrade() {
            return grade;
        }
        public void setGrade(grade grades) {
            this.grade = grades;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
        public Date getBornDate() {
            return bornDate;
        }
        public void setBornDate(Date bornDate) {
            this.bornDate = bornDate;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        public String getIdentityCard() {
            return identityCard;
        }
        public void setIdentityCard(String identityCard) {
            this.identityCard = identityCard;
        }
         
           //有参构造
        public Student(int studentNo, String longinPwd, String studentName,
                int sex, grade gradeID, String phone, String address, Date bornDate,
                String email, String identityCard) {
            this.studentNo = studentNo;
            this.longinPwd = longinPwd;
            this.studentName = studentName;
            this.sex = sex;
            this.gradeID = gradeID;
            this.phone = phone;
            this.address = address;
            this.bornDate = bornDate;
            this.email = email;
            this.identityCard = identityCard;
        }
     
        //无参构造
        public Student() {
             
        }

         Grade类:

    复制代码
    package com.myschool.entity;
    
    public class grade {
        private int gradeid;
        private String gradeName;
        public int getGradeid() {
            return gradeid;
        }
        public void setGradeid(int gradeid) {
            this.gradeid = gradeid;
        }
        public String getGradeName() {
            return gradeName;
        }
        public void setGradeName(String gradeName) {
            this.gradeName = gradeName;
        }
        public grade(int gradeid, String gradeName) {
            super();
            this.gradeid = gradeid;
            this.gradeName = gradeName;
        }
        public grade() {
            super();
            
        }
        
    }
    复制代码

        2.Daobase:

    复制代码
    package com.myschool.dao;
    
    import java.beans.Statement;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class baseDao {
    
        // 创建连接参数
        private final static String DRIVER = "com.mysql.jdbc.Driver";
        private final static String URL = "jdbc:mysql:///myschool";
        private final static String USER_NAME = "root";
        private final static String PASSWORD = "123";
    
        Connection con = null;
        PreparedStatement prestatement = null;
        ResultSet rs = null;
    
        // 获取连接
        private Connection getConnection() {
            try {
                Class.forName(DRIVER);
                if (con == null) {
                    con = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return con;
        }
    
        // 增删改
        public int executeUpdate(String sql, Object... obj) throws Exception {
            // 获取连接
            getConnection();
    
            // 获取prepareStatement对象
            prestatement = con.prepareStatement(sql);
    
            // 循环添加参数
            for (int i = 1; i <= obj.length; i++) {
                prestatement.setObject(i, obj[i - 1]);
            }
            // 执行SQL语句
            int count = prestatement.executeUpdate();
            return count;
    
        }
    
        // 查
        public ResultSet executeQuery(String sql, Object... obj) throws Exception {
            // 获取连接
            getConnection();
    
            // 获取prepareStatement对象
            prestatement = con.prepareStatement(sql);
    
            // 循环添加参数
            for (int i = 1; i <= obj.length; i++) {
                prestatement.setObject(i, obj[i - 1]);
            }
            // 执行SQL语句
            rs = prestatement.executeQuery();
    
            return rs;
    
        }
        
        //回收资源
        public void closeResouse() throws Exception
        {
            if (rs!=null) {
                rs.close();
            }
            if (prestatement!=null) {
                prestatement.close();
            }
            if (con!=null) {
                con.close();
            }
            
        }
     
    }
    复制代码

        3.DAO接口:

    复制代码
    package com.myschool.dao;
    
    import java.util.List;
    
    import com.myschool.entity.Student;
    
    public interface IStudentDao {
    
        /*
         * 查询所有学生记录,年级名称
         */
        public List<Student> Search() throws Exception;
    
        
    }
    复制代码

         4.DAO接口实现类:

    复制代码
    package com.mychool.dao.impl;
    
    import java.sql.ResultSet;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.myschool.dao.IStudentDao;
    import com.myschool.dao.baseDao;
    import com.myschool.entity.Student;
    import com.myschool.entity.grade;
    
    public class IStudentDaoImpl extends baseDao implements IStudentDao {
    
        
        @Override
        public List<Student> Search() throws Exception {
            //创建student对象泛型集合
            List<Student> stus=new ArrayList<Student>();
            
            String sql="Select studentName,GradeName from Student,grade where Grade.gradeid=Student.gradeid ";
    //定义resultSet对象接收basedao的查询方法查出来的数据 ResultSet rSet=executeQuery(sql); if (rSet!=null) { while (rSet.next()) { Student stu=new Student(); grade grade=new grade();//创建年级对象 // stu.setAddress(rSet.getString("address")); // stu.setEmail(rSet.getString("email")); // stu.setIdentityCard(rSet.getString("identityCard")); // stu.setLonginPwd(rSet.getString("longinPwd")); // stu.setPhone(rSet.getString("phone")); // stu.setSex(rSet.getInt("sex")); grade.setGradeName(rSet.getString("gradeName"));//给年级对象赋值 stu.setStudentName(rSet.getString("studentName"));//给学生对象赋值 stu.setGradeID(grade); // stu.setStudentNo(rSet.getInt("StudentNo")); // SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd"); // stu.setBornDate(sdFormat.parse(rSet.getString("bornDate"))); stus.add(stu);//将学生对象添加到对象集合中 } }
        //回收释放资源 closeResouse(); return stus; } }
    为了简单明洁,部分属性不进行值查询
    复制代码

      二、service层:

        1.service接口:

    复制代码
    package com.myschool.service;
    
    import java.util.List;
    
    import com.myschool.entity.Student;
    
    public interface IService {
        
        public List<Student> Search() throws Exception;
    }
    复制代码

        2.service接口实现类:

    复制代码
    package com.mychool.service.Impl;
    
    import java.util.List;
    
    import com.mychool.dao.impl.IStudentDaoImpl;
    import com.myschool.dao.IStudentDao;
    import com.myschool.entity.Student;
    import com.myschool.service.IService;
    
    public class IServiceImpl implements IService{
    
        IStudentDao isd=new IStudentDaoImpl();
        @Override
        public List<Student> Search() throws Exception {
            return isd.Search();
        }
        
    }
    复制代码

      三、UI层:

        

    复制代码
    package com.myschool.ui;
    
    import java.util.List;
    
    import com.mychool.service.Impl.IServiceImpl;
    import com.myschool.entity.Student;
    import com.myschool.service.IService;
    
    public class test {    
        public static void main(String[] args) throws Exception {
         //创建service接口实现类的对象 IService isv=new IServiceImpl(); List<Student> lsList=isv.Search();
    for (Student student : lsList) { System.out.println(student.getStudentName()+" "+student.getGradeID().getGradeName()); } } }
    复制代码

        DAO实现类写法:

     

     

    package com.myschool.dao.impl;
    
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.myschool.dao.BaseDao;
    import com.myschool.dao.IGradeDao;
    import com.myschool.entity.Grade;
    import com.myschool.entity.Student;
    
    public class IGradeDaoImpl extends BaseDao implements IGradeDao{
    
        @Override
        public Grade getStudentByGrade(String gradeName) throws Exception {
            Grade grade=new Grade();
            String sql="SELECT * FROM Student,Grade WHERE Student.GradeId=Grade.GradeId AND GradeName=?";
            ResultSet rs = executeQuery(sql, gradeName);
            if(rs!=null){
                
                while (rs.next()) {
                    
                    //获取年级信息
                    grade.setGradeName(rs.getString("gradeName"));
                    //获取学生信息
                    Student student=new Student();
                    student.setGradeId(rs.getInt("gradeId"));
                    student.setStudentName(rs.getString("StudentName"));
                    student.setStudentNo(rs.getInt("studentNo"));
                    //将查询出来的学生信息添加到集合当中
                    grade.getStulist().add(student);
                }
                
            }
            return grade;
        }
    
    }
     
  • 相关阅读:
    Https、SSL/TLS相关知识及wireShark抓包分析
    谷歌浏览器如何查看当前网页使用哪个TLS版本?
    centos7 ssh启动异常时,用ssh -t 查看报错信息。
    centos7设置久静态ip
    将cmder.exe添加到右键菜单,并配置环境变量
    KeepAlive与KeepAlive的区别
    openssl笔记
    1.javascript知识点总结
    js的小练习
    7.利用canvas和js画一个渐变的
  • 原文地址:https://www.cnblogs.com/ringqq/p/10945101.html
Copyright © 2011-2022 走看看