吃个薯条 2023-07-17 20:17 采纳率: 28.6%
浏览 16

关于#java#的问题:已经连接了数据库,但是不会将java电话簿管理的内容保存到数据库(开发工具-eclipse)

已经连接了数据库,但是不会将java电话簿管理的内容保存到数据库,该怎么办啊😭还有就是电话簿的编辑功能不太行

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-17 22:35
    关注
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7731778
    • 这篇博客你也可以参考下:eclipse java程序写好了,点击运行后无反应,没有弹出运行框?
    • 除此之外, 这篇博客: java爬取博客和资讯,将爬取的数据直接存入数据库!中的 配置说明 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 1.需要构造自己pojo(bean),推荐使用示例中pojo中的实体类,若想用自己的实体类注意修改JsoupUtil中关于实体类set属性注入部分。mapper层,保证能够对数据库进行基本操作,推荐使用springboot+mybatis-plus的generator,简单配置,一键生成!

      2.对JsoupUtil进行简单修改

      springboot+mybatis-plus项目:

      JsoupUtil
      不建议修改有红线的地方,避免修改下面调用类的命名。只需把类改为操作数据库的类即可

      非springboot+mybatis-plus项目:

      除上述部分还需修改每个调用上面类方法的地方,共9处。

      3.运行:

      非springboot项目:

      public static void main(String[] args) {
              new JsoupUtil(
                      //传入你操作数据库的类组即可
              ).getStart();
          }
      
      

      springboot项目:

      依赖于spring项目的一些配置,需要在test目录中运行test方法

      @SpringBootTest
      class WebcrawlerJavaApplicationTests {
      
          @Autowired
          private BlogService blogService;
          @Autowired
          private InformationService informationService;
          @Autowired
          private BlogCommentService blogCommentService;
          @Autowired
          private BlogCommentReplyService blogCommentReplyService;
          @Autowired
          private InformationCommentService informationCommentService;
          @Autowired
          private InformationCommentReplyService informationCommentReplyService;
          private static ThreadLocal<Long> startTime = new ThreadLocal<Long>();
      
      
          @Test
          public void jsoup() {
              new JsoupUtil(
             		blogService,
             		informationService,
             		blogCommentService,
             		blogCommentReplyService,
             		informationCommentService,
             		informationCommentReplyService
              ).getStart();
          }
      
      }
      

      4.启动,操作,查看结果…

    • 您还可以看一下 传智老师的计算机基础知识-Java基础视频_深入浅出精华版课程中的 计算机基础(计算机概述)小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      为了将Java电话簿管理的内容保存到已连接的数据库中,你需要进行以下操作:

      1. 确定你已经在Eclipse中成功连接到数据库。如果你还没有连接到数据库,可以参考Eclipse官方文档或其他相关资料,了解如何连接数据库。通常,你需要下载并安装适合你使用的数据库驱动程序,并在Eclipse中配置数据库连接。这通常涉及到在Eclipse的数据源视图中创建新的数据库连接,并提供必要的连接信息,例如数据库的URL、用户名和密码。

      2. 在Java电话簿管理的代码中,你需要使用数据库的API来执行以下操作:

      3. 连接到数据库:使用数据库驱动程序提供的接口来建立与数据库的连接。这通常涉及创建一个连接对象,并传递数据库的连接信息(例如URL、用户名和密码)。
      4. 创建表格:使用SQL语句在数据库中创建一个新的表格,以存储电话簿的数据。表格的结构应与电话簿的数据模型相对应,例如姓名、电话号码等。
      5. 插入数据:将电话簿中的每个联系人作为一条记录插入到数据库表格中。使用数据库的API执行插入操作。你需要为每个字段提供对应的值,例如姓名、电话号码等。
      6. 更新数据:如果电话簿中的联系人已经存在于数据库中,你可以使用SQL语句执行更新操作,更新相应的字段。
      7. 查询数据:如果你需要从电话簿中检索数据,可以使用SQL语句执行查询操作。你可以检索整个电话簿或特定条件下的联系人。
      8. 关闭连接:在完成所有操作后,确保关闭与数据库的连接,释放资源。

      以下是一个示例代码,演示如何将电话簿数据保存到数据库中(假设你已经成功连接到数据库):

      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.PreparedStatement;
      import java.sql.SQLException;
      
      public class PhoneBookManager {
          private Connection connection;
      
          // 建立与数据库的连接
          public void connectToDatabase() {
              String url = "jdbc:mysql://localhost:3306/database_name";
              String username = "your_username";
              String password = "your_password";
      
              try {
                  connection = DriverManager.getConnection(url, username, password);
                  System.out.println("Connected to database!");
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
      
          // 创建电话簿表格
          public void createPhoneBookTable() {
              String createTableQuery = "CREATE TABLE phone_book (" +
                                        "id INT PRIMARY KEY AUTO_INCREMENT, " +
                                        "name VARCHAR(50), " +
                                        "phone_number VARCHAR(20));";
      
              try (PreparedStatement statement = connection.prepareStatement(createTableQuery)) {
                  statement.executeUpdate();
                  System.out.println("Phone book table created!");
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
      
          // 插入联系人到电话簿
          public void insertContact(Contact contact) {
              String insertQuery = "INSERT INTO phone_book (name, phone_number) VALUES (?, ?);";
      
              try (PreparedStatement statement = connection.prepareStatement(insertQuery)) {
                  statement.setString(1, contact.getName());
                  statement.setString(2, contact.getPhoneNumber());
      
                  statement.executeUpdate();
                  System.out.println("Contact inserted to phone book!");
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
      
          // 其他操作,例如更新数据、查询数据
      
          // 关闭与数据库的连接
          public void closeConnection() {
              try {
                  connection.close();
                  System.out.println("Connection closed!");
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
      }
      

      在代码中,你可以根据你的数据模型和需要进行适当的修改。例如,Contact类代表电话簿中的一个联系人,具有姓名和电话号码属性。

      另外,关于电话簿编辑功能问题的解决方法需要更多的详细信息。请提供有关所遇到问题的具体描述和错误消息,以便更好地理解问题并提供解决方案。

    评论

报告相同问题?

问题事件

  • 已采纳回答 7月17日
  • 修改了问题 7月17日
  • 创建了问题 7月17日

悬赏问题

  • ¥99 求购美团闪购医药ISV服务商资质
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?
  • ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角
  • ¥15 webots有问题,无响应
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?