Webアプリの作成で、Test.javaを実行すると、DBのテーブルでdel_flgというカラムに1が入っているデータを削除するような機能を作成しております。
macを使用しておりまして、ターミナルからの操作で実行したところ、ターミナルに
??????????2020/06/04 07:53:48
???????EXception e
↑と表示され文字化けが起きてエラーが出てしまいました。
実行したTest.javaに何か文字化けを防止するコードが必要になるかと考えましたが、
解決ができず、つまずいています。
もし解決策等お分かりになればご教授いただけると幸いです。
よろしくお願いいたします。
以下Test.java
import java.sql.*; import java.text.ParseException; import java.util.Date; import java.util.Calendar; import java.text.SimpleDateFormat; public class Test { public static void main(String[] args) throws ParseException { //起動日時 Date date=new Date(); Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); System.out.println("------------------------------"); System.out.println("バッチプログラム起動"+sdf.format(date)); System.out.println("------------------------------"); test(); } private static void test() { // ■DB接続 String msg = ""; try { // ドライバロード Class.forName("com.mysql.jdbc.Driver"); // MySQL に接続 PreparedStatement ps1 = null; Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bsdb", "demo", "demouser1"); // ステートメント生成 Statement stmt = con.createStatement(); // SQL を実行 String sqlStr1 = "delete from player_tb where del_flg = 1"; ps1 = con.prepareStatement(sqlStr1); int i = ps1.executeUpdate(); System.out.println("player_tb:削除件数"+i+"件"); // 接続を閉じる stmt.close(); con.close(); ps1.close(); //完了日時 Date date2=new Date(); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); System.out.println("削除バッチ実行完了日時:"+sdf2.format(date2)); System.out.println("------------------------------"); }catch (ClassNotFoundException e){ msg = "JDBCが見つかりません"; System.out.println(msg); }catch (Exception e){ msg = "失敗しました。EXception e"; System.out.println(msg); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/04 09:32
2020/06/04 09:41