博客系统数据库设计与实现-第2关:博客系统数据库设计与实现之增加

第2关:博客系统数据库设计与实现之增加


任务描述

本关任务:通过 JDBC 的方式插入一条用户数据到 MySQL 表 t_user 中。

相关知识

为了完成本关任务,你需要掌握:JDBC 如何插入数据到数据库。

  1. 首先,我们需要加载(注册)数据库驱动(到 JVM );
     
      
    1. Class.forName("com.mysql.jdbc.Driver");
  1. 建立(获取)数据库连接;

     
      
    1. //参数:1.JDBC URL 2. 数据库用户名 3. 数据库密码
    2. Connection con = DriverManager.getConnection(url, user, password);
  2. 创建(获取)数据库操作对象;

     
      
    1. PreparedStatement  preparedStatement(String sql)    :主要用来预编译SQL语句,并且执行。解决了sql注入的漏洞
  3. 定义操作的 SQL 语句;

     
      
    1. sql = "insert into a (id,name,pwd) values (?,?,?)";
  1. 执行数据库操作;

     
      
    1. PreparedStatement ps=conn.prepareStatement(sql);
    2. ps.setInt(1, 1); // 设置 id 的值为 1
    3. ps.setString(2, "abc"); // 设置 name 的值为 abc
    4. ps.setString(3, "123456"); // 设置 pwd 的值为 123456
  2. 返回的结果是影响的行数;

     
      
    1. int count =ps.executeUpdate();
  3. 关闭对象,回收数据库资源(关闭数据库操作对象-->关闭连接)。

     
      
    1. ps.close();
    2. con.close();

相关数据说明

用户表实体类:User.java;

 
  1. import java.util.Date;
  2. public class User {
  3. private Integer userId; // 用户ID
  4. private String userName; // 用户名称
  5. private String passWord; // 用户密码
  6. //省略构造器和 getter 和 setter 方法
  7. }

MySQL 数据库 mydb;

用户表 t_user;

列名类型非空注释
userIdint用户 ID 主键
userNamevarchar用户名
passWordvarchar用户密码

MySQL 连接配置:

  • Driver:com.mysql.jdbc.Driver;

  • URL:jdbc:mysql://localhost:3306/mydb?characterEncoding=UTF-8;

  • user:root;

  • password:123123。

编程要求

在右侧编辑器 Begin-End 处补充代码,通过 JDBC 的方式插入一条用户数据到 MySQL 表 t_user 中,具体要求如下:

  • 在 User.java 文件中定义了一个 User 用户类,点击代码文件可以进行查看该类的属性和方法;

  • 在 InsertUser 类中定义了一个 insertUser(User user) 方法,将参数中的用户数据添加到表 t_user 中,最后返回结果影响行数。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

测试输入:无

预期输出:

 
  1. 添加用户成功
  2. userId userName passWord
  3. 1 sunfeng 147258
  4. 2 dv 123456
  5. 3 suning 845966
  6. 4 xiaoming 857857

代码实现:

import java.sql.*;
public class InsertUser {
    private static final String driver = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8";
    private static final String username = "root"; // 数据库的用户名
    private static final String password = "123123"; // 数据库的密码:这个是自己安装数据库的时候设置的,每个人不同。
    private static Connection conn = null; // 声明数据库连接对象
    private static PreparedStatement ps = null; // 声明(获取)数据库操作对象
    public static int insertUser(User user) {
        // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
        /********** Begin **********/
        // 定义影响行数
        int i = 0;
        try {
            // 加载(注册)数据库驱动(到JVM)
            Class.forName(driver);
            // 建立(获取)数据库连接
            conn = DriverManager.getConnection(url, username, password);
            // 定义操作的SQL语句
            String sql = "INSERT INTO t_user (userId,userName,passWord) VALUES(?,?,?)";
            // 执行数据库操作
            ps = conn.prepareStatement(sql);
            ps.setInt(1, user.getUserId());
            ps.setString(2, user.getUserName());
            ps.setString(3, user.getPassWord());
            // 返回的结果是影响的行数
            i = ps.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            // 关闭对象,回收数据库资源
            try {
                if(ps != null){
                    ps.close();
                }
                if(conn != null){
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return i;
        /********** End **********/
    }
}

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,第1博客系统数据库设计实现之查询的。在这一中,我们将学习如何设计实现一个博客系统数据库,并学习如何进行查询操作。这将包括如何创建表、插入数据、更新数据和删除数据,以及如何使用SQL语句进行查询操作。通过完成这一,我们将能够掌握数据库设计和查询的基本知识,为后续的学习打下坚实的基础。 ### 回答2: 博客系统数据库设计博客系统开发的重要一环,它的优劣将直接影响博客系统的查询效率和数据安全性。针对博客系统数据库设计,我们应该考虑以下几点: 1. 博客系统的数据结构设计 博客系统的数据结构应该尽可能的简洁,对于重复的数据应该避免冗余,对于可以拆分的数据应该尽可能拆分,以减少数据冗余和互相干扰的可能。 2. 博客系统的数据类型选择 在博客系统数据库设计中,我们应该尽量选择适合数据存储和查询的数据类型。对于数据量较小、只有几个选项的数据可以使用字符串类型存储,而对于需要进行排序和聚合操作的数据,应该使用数值类型或日期类型存储。 3. 博客系统的索引设计 博客系统的索引设计数据库优化的核心,合理的索引设计能够提升博客系统的查询效率。建议在博客系统的主键和常用查询中的查询字段上建立索引。同时应该注意数据库索引的数量,过多的索引会增加数据库的开销。 4. 博客系统的查询语句优化 为了充分利用索引,避免数据库全表扫描,我们应该尽可能的优化博客系统的查询语句。可以通过分页查询、使用子查询、避免使用OR语句等方法来提高查询效率。 5. 博客系统的数据备份和恢复 博客系统数据库还需要进行数据备份和恢复,以保证数据安全。我们可以使用数据库备份工具定期备份数据库文件,同时也可以将备份文件存储到远程服务器或云存储上,以便当本地备份文件损坏或丢失时进行数据恢复。 博客系统数据库设计既要充分考虑数据存储性能和查询效率,同时也要注意数据的安全性和备份恢复。只有进行合理的数据库设计和优化,才能为博客系统的后续发展提供可靠的数据支持。 ### 回答3: 博客系统是一个典型的应用型数据库系统,其数据库设计实现中的查询部分具有较高的重要性。本文将系统介绍第一任务的查询部分,分析其所涉及的数据库表和相查询操作,并对相技术进行深入阐述,以供有兴趣的读者参考和学习。 在博客系统中,查询操作主要用于获取用户发布的博客和评论,根据发布时间、类别、标签和键词等不同的条件进行分类和排序,以方便用户获取相应的信息。查询操作所涉及的数据库表主要包括博客表、评论表、用户表和分类表等,这些表之间存在相应的系,需要进行联合查询获取相应的数据。 针对不同的查询条件和排序方式,博客系统中常用的查询操作包括基本的查询、分页查询、排序查询和聚合查询等。其中,基本的查询操作根据博客ID、用户ID、评论ID等唯一标识符进行查询,一般用于获取单个博客或评论的详细信息。分页查询操作主要用于分页显示多个博客或评论,以减轻数据库负载和提高用户响应速度。排序查询操作则主要用于根据发布时间、点赞数、浏览量等不同的排序方式显示博客列表或评论列表。聚合查询操作则主要用于获取博客和评论的统计信息,如总数、平均值和最大值等。 在具体实现过程中,博客系统中常用的查询技术包括SQL语句、ORM映射和索引优化等。SQL语句是实现查询功能的基础,可以通过SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY等键字实现各种查询操作。ORM映射则是将数据库表映射为对象模型,通过面向对象的方式来实现数据库操作,具有可读性高、可维护性强的优点。索引优化则是通过为键字段建立索引来提高数据库查询效率,减少数据检索时间,提高系统性能。 综上所述,博客系统中的查询部分是数据库设计实现中的重要组成部分,其涉及的表和操作模式多种多样,需要开发人员具备较强的数据库系统设计和优化技能。有了系统地学习和实践,相信读者能够掌握博客系统查询功能的实现方法,进一步提高Web应用程序的开发能力和实践水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值