我正在尝试将我的java服务在debian服务器上重启的时间节省到MYSQL服务器中。 java应用程序是一个dropwizard项目。我尝试从Java做,但它需要一个Object创建,数据访问对象,一个hibernate配置文件和映射文件。这看起来像是一个过头,有没有更简单的方法来实现这一目标?
答案 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();'
如果您不想在命令行上传递密码,请搜索帮助。