在MYSQL数据库中重新启动服务的最佳方法是什么?

时间:2015-03-31 19:22:23

标签: java hibernate session jpa dropwizard

我正在尝试将我的java服务在debian服务器上重启的时间节省到MYSQL服务器中。 java应用程序是一个dropwizard项目。我尝试从Java做,但它需要一个Object创建,数据访问对象,一个hibernate配置文件和映射文件。这看起来像是一个过头,有没有更简单的方法来实现这一目标?

3 个答案:

答案 0 :(得分:1)

Hibernate只是一个可用于访问数据库的选项,但它不是唯一的方法。如果您不想使用Hibernate,您可以使用JDBC直接连接

https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

这应该让你了解如何设置连接以及如何使用它。

答案 1 :(得分:1)

是的,如果你想使用Java,你不需要使用hibernate。您所需要的只是以下内容:

公共类ServiceRestartServlet扩展了HttpServlet {

 public void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException, ServletException {
  Connection conn = null;
  try {
    conn = DriverManager.getConnection(System.getProperty("jdbc.url"), System.getProperty("jdbc.user"), System.getProperty("jdbc.password"));
    conn.setAutocommit(false);
    PreparedStatement insertStatement = conn.prepareStatement("insert into serviceRestartLog (serviceName, restartTime) values (?, now())");
    insertStatement.setString(1, req.getParameter("serviceName"));
    insertStatement.execute();
    conn.commit();
  } catch (SQLException e) {
    System.err.println(new java.util.Date()+" Save failed -- "+e.getMessage());
  } finally {
    try {
      conn.close();
    } catch (Throwable e) {
      System.err.println(new java.util.Date()+" connection failed to close -- "+e.getMessage() );
    }
  }
  public void init(ServletContext ctx) {
     Class.forName(System.getProperty("jdbc.drivers")).newInstance();
  }
}

只需在web.xml中激活此servlet,并在创建表后发出带有应用程序名称的请求,您应该是金色的。

答案 2 :(得分:0)

使用'mysql'命令行

mysql -u USERNAME -p PASSWORD -e 'update WHATEVER set DATE_RESTARTED=NOW();'

如果您不想在命令行上传递密码,请搜索帮助。