zoukankan      html  css  js  c++  java
  • 201521123031 《Java程序设计》第14周学习总结

    1. 本周学习总结

    1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。

    2. 书面作业

    1. MySQL数据库基本操作

    建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
    在自己建立的数据库上执行常见SQL语句(截图)

    -参考:实验任务书-题目1

    2. 使用JDBC连接数据库与Statement

    2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)

    //201521123031
    try {
        conn = DriverManager.getConnection(URL,userName,password);
        Statement statement = conn.createStatement();
        ResultSet resultSet = statement.executeQuery(sql);
        //JDBC连接数据库
        while(resultSet.next()){
            int id = resultSet.getInt("id");
            String stuno = resultSet.getString("stuno");
            String name = resultSet.getString("name");
            System.out.print("id="+id+" stuno="+stuno+" name="+name);
        }   
    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        if(conn!=null)
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        conn = null;
    }
    

    2.2 你认为使用JDBC操作数据库的套路是什么?有那几点需要注意。
    -参考:实验任务书-题目2
    答:1、加载数据库驱动
    2、与数据库建立连接
    3、向数据库发送SQL语句
    4、执行数据库操作
    5、获得返回的结果
    6、关闭JDBC对象

    3. PreparedStatement与参数化查询

    3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)

    //201521123031
    public void searchByPst()
    {
        ArrayList<Long> arr=new ArrayList<Long>();
        try{
            pst=conn.prepareStatement(querySql);
            rs=pst.executeQuery();
            while(rs.next())
            {
                arr.add(rs.getLong("ID"));
            }
            System.out.println(arr);
            this.pst.close();
        }catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    

    3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。对比普通方法插入与使用executeBatch方法所消耗的时间。(使用JUint4测试,需要出现时间对比截图)
    参考:实验任务书-题目3

    4. JDBCUtil与DAO

    4.1 粘贴一段你认为比较有价值的代码,并说明为什么要摘取这段代码。出现学号

    //201521123031
    class StudentDao
    {
    
        public Connection conn = null;
        public Statement statement = null;
        public PreparedStatement pst=null;
        public ResultSet rs=null;
        private static String querySql ="select * from lin";
        public StudentDao() {
            try {
                Driver driver = new com.mysql.cj.jdbc.Driver();
                DriverManager.registerDriver(driver);
                String url = "jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useSSL=false";
                String user = "root";
                String password = "123456";
                conn = DriverManager.getConnection(url, user, password);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public boolean add(Student stu)
        {
            boolean flag=true;
            String sql= "insert into lin (Name,ID) values(?,?)";
            try{
                pst=conn.prepareStatement(sql);
                pst.setString(1,stu.name);
                pst.setInt(2,stu.id);
                int i=pst.executeUpdate();
                if(i==0){
                    flag=false;
                }
    
            }catch (Exception e)
            {
                e.printStackTrace();
            }
            finally {
                try {
                    pst.close();
                }catch(SQLException e) {}
            }
    
            return flag;
        }
    
        public boolean delete(Student stu)
        {
            boolean flag=true;
            String sql="delete from user where id=?";
            try{
                pst=conn.prepareStatement(sql);
                pst.setInt(1,stu.id);
                int i=pst.executeUpdate();
                if(i==0){
                    flag=false;
                }
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            finally {
                try {
                    pst.close();
                }catch(SQLException e) {}
            }
    
            return flag;
        }
    
    
        public boolean update(Student stu)
        {
            boolean flag=true;
            String sql="update lin set Name=? where ID=?";
            try{
                pst=conn.prepareStatement(sql);
                pst.setString(1,stu.name);
                pst.setInt(2,stu.id);
                int i=pst.executeUpdate();
                if(i==0){
                    flag=false;
                }
            }catch (Exception e)
            {
                e.printStackTrace();
            }
            finally {
                try {
                    pst.close();
                }catch(SQLException e) {}
            }
    
            return flag;
        }
    
    
        public List<Student> findAll()
        {
            List<Student> students=new ArrayList<Student>();
            try{
                pst=conn.prepareStatement(querySql);
                rs=pst.executeQuery();
                while(rs.next())
                {
                    students.add(new Student(rs.getString("Name"),rs.getInt("ID")));
                }
            }catch (Exception e)
            {
                e.printStackTrace();
            }
            finally {
                try {
                    rs.close();
                    pst.close();
                }catch(SQLException e) {}
            }
    
            return students;
        }
    
        public Student findById(int id)
        {
            Student stu=new Student();
            String sql="SELECT * FROM lin where id=?";
    
            try{
                pst=conn.prepareStatement(sql);
                pst.setInt(1,id);
                rs=pst.executeQuery();
                stu.name=rs.getString("Name");
                stu.id=rs.getInt("ID");
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            finally{
                try {
                    rs.close();
                    pst.close();
                }catch(SQLException e) {}
            }
    
            return stu;
    
        }
    
        public List<Student> findByName(String name)
        {
            String sql="SELECT * FROM lin where Name like "?%"";
            List<Student> students=new ArrayList<Student>();
            try{
                pst=conn.prepareStatement(sql);
                pst.setString(1,name);
                rs=pst.executeQuery();
                while(rs.next())
                {
                    students.add(new Student(rs.getString("Name"),rs.getInt("ID")));
                }
            }catch (Exception e)
            {
                e.printStackTrace();
            }
            finally {
                try{
                    rs.close();
                    pst.close();
                }catch (SQLException e){}
            }
    
            return students;
        }
    }
    

    4.2 使用DAO模式访问数据库有什么好处?
    答:好处是将将操作集中于一个工具类,方便调用,并且通过写成私有方法并提供外部调用的入口,这样写安全可靠。

    参考:实验任务书-题目5

    5. 使用数据库改造购物车系统

    5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。

    5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?
    答:数据库处理:读取效率很快,容量很大,适合经常更新变动的情况,不会有文件操作那么麻烦。

    3. 码云

    3.1. 码云代码提交记录

    在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

  • 相关阅读:
    软件工程网络15个人阅读作业1
    团队课程设计博客
    计时器(何雨柔201521123040)
    软工网络15个人作业4——alpha阶段个人总结
    软工网络15个人作业3——案例分析
    软件工程网络15结对编程作业
    软工网络15个人作业2
    软件工程网络15个人阅读作业1(201521123032 黄登峰)
    计时器(黄登峰 201521123032)
    201521123032 《Java程序设计》第14周学习总结
  • 原文地址:https://www.cnblogs.com/ltykm/p/6916269.html
Copyright © 2011-2022 走看看