• 作业14-数据库


    1. 本周学习总结

    1.1以你喜欢的方式(思维导图、OneNote或其他)归纳总结多网络相关内容。

    • 数据库基本概念:

    定义:按照某种规则组织起来的数据的集合.

    关系型数据库:使用表来存储数据;每行是一条记录;一行由若干列组成.

    主键:可以唯一确定一条记录的关键字。(必须有)

    • MySQL数据库简单操作:

    启动:启动MySQL直接在控制台输入密码;或者可以在命令行进入.....bin目录然后在输入mysql -u root -p启动。

    退出:quit或者exit

    数据库操作:

    显示数据库:show databases;

    创建数据库:create database +数据库名字;

    删除数据库:drop database +数据库名字;

    连接数据库:use +数据库名字;(使用数据库之前一定要先连接)

    查看当前连接的数据库:select database();

    当前数据库包含的表:show tables;

    表操作:

    增:insert into 表名(列名,列名,...)values(值,值,..);

    删:delete from 表名 where 列名=值;

    改:update 表名 set ....where ...(哪个地方的什么改成什么)

    查:select *from 表名 (where ...)(可以查看全部也可以值查看某一行,或者某一列)

    • JDBC编程一般步骤:

    装载驱动(jdbc4.0不再需要)

    与数据库建立连接(Connection)

    向数据库发送SQL语句(Ststement)

    返回结果(ResultSet)

    关闭连接,释放资源。

    1. 使用数据库技术改造你的系统

    2.1 简述如何使用数据库技术改造你的系统。要建立什么表?截图你的表设计。

        需要建立三个表,一个是用户信息表,用来存储用户的账号密码,命名为users;一个是商店表,即显示商店所有商品的一个表,该表命名为score;还有一个就是购物车表,显示顾客所买商品的清单,命名为shoppingcart。
    




    2.2 系统中使用到了JDBC中什么关键类?

        使用了DriverManager类,还有接口 Connection,接口 ResultSet,接口 Statement,接口 PreparedStatement。
    

    2.3 截图数据库相关模块的关键代码。关键行需要加注释。

    • 存在一个Dao接口,主要是存放了数据库的路径,用户名,密码,不用每次连接时都输入一次。
    • 接下来是一个ConnectMysq.java主要是实现用户登录注册。登录主要是先根据用户名判断是否是已注册账户,然后在比较密码是否正确。



    • 下面是各个功能代码。进店逛逛即查看score表;我要买买买即insert into shoppingcart表;放弃他即delete shoppingcart表;2,3,功能不仅对shoppingcart表有改动而且要求对score表有改动(目前为实现,只能改变shoppingcart表)



    • 下面是Main里面的代码


      登录成功之后的操作与注册成功相同,其实可以在注册成功之后在提示用户登陆一次。
    • 运行结果。有乱码问题。暂未解决。曾经按照百度的做法将三个地方的编码方式统一成UTF-8编码,但是为解决,想想也不嫩更统一成utf-8,不然控制台这边输出的内容也会乱。

    1. 代码量统计

    3.1 统计本周完成的代码量

    周次 总代码量 新增代码量 总文件数 新增文件数
    15 631 631 11 11

    选做:4. 数据库学习指导


    1. MySQL数据库基本操作,建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)



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

    2.1 使用Statement操作数据库。完成实验任务书-题目2。截图其中的public static void displayAll()public static int insert(Student stu)的关键代码并出现自己的学号。




    其中插入方法使用了预处理语句,下面是使用通用语句处理的代码,需要注意的就是引号的问题。

    2.2 如果要完成根据指定姓名查询学生数据,即完成函数public Student findStuByName(String name),其中的sql语句怎么写?

        SQL语句是"select * from students where name='"+name+"';"(需要注意的是引号的问题,需要细心吼)
    

    2.3 你认为使用JDBC操作数据库的套路是什么?

    • 装载驱动
    • 与数据库建立连接
    • 向数据库发送SQL语句
    • 返回结果集
    • 关闭,释放资源
    1. PreparedStatement与参数化查询

    3.1 使用PreparedStatement,编写public Student findStuByName(String name),实现根据name进行查找, 。(粘贴关键代码及运行截图,运行截图中需出现学号,比较2.2,说明两种实现的不同)

        SQL语句:"select * from students where name like ?;"运行结果显示的是查找姓名为JinTianTing的学生记录。
    


    这题使用了参数化查询,上题采用的是通用查询。预处理语句PreparedStatement可以写动态参数化的查询;而且他比Statement 对象生成的查询更快。

    3.2 如果要实现模糊查找,怎么修改?比如编写public List<Student> findStusByName(String name),可根据name进行模糊匹配,如将姓名中包含zhang的同学都找出来。

    运行结果,将姓名包含Jin的记录都查找出来。

  • 相关阅读:
    C#基础知识委托与泛型(转载)
    C.消息队列(转载)
    可编辑的 HTML JavaScript 表格控件 DataGrid
    Asp无组件上传进度条解决方案
    A lot of Javascript tips
    资料只看看,不能copy/paste。
    Converting Numbers to Strings
    浅析Google技术底蕴
    ASP.NET makes uploading files from the client to the server a snap(UploadInterface.PostedFile.SaveAs)
    IT IS an IMPORTANT String for Input TYPE=File Field enctype="multipart/formdata"
  • 原文地址:https://www.cnblogs.com/21-T/p/8067477.html
Copyright © 2020-2023  润新知