javaでDAOを使って、データベース読み込みさせ、
そこからメインクラスでCSVファイルに書きこみするテストを作ったら
CSVファイルが白紙でnullエラーがでます。
どうにかしてCSVファイル書き込みしたいのですが、
よろしくお願いします。
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.sql.SQLException; import java.text.ParseException; import java.util.ArrayList; import java.util.List; public class Main10 { /* dao呼び出し、データベース読み込み */ public static void main(String[] args) throws IOException, SQLException, ParseException { File file = new File("C:\\\\output\\\\before.csv"); if (file.mkdir()) { System.out.println("フォルダの作成に成功しました"); } else { System.out.println("フォルダの作成に失敗しました"); } Dao10 dao = new Dao10(); List<Entity> list = new ArrayList<>(); Entity entity = new Entity(); List<Entity> sd = dao.findAll(); for (Entity s : sd) { System.out.println(s.getName()); System.out.println(s.getEmployeeId()); } FileWriter f = new FileWriter("C:\\output\\before.csv", false); for (Entity s1 : sd) { f.write(s1.getName()); f.write(","); f.write(s1.getNameHiragana()); f.write(","); f.write(s1.getBirthday()); f.write(","); } import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class Dao10 { public List<Entity> findAll() { List<Entity> list = new ArrayList<>(); /* 事前準備(JAR配置を含む) */ try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { //JDBCドライバが見つからない場合の処理 e.printStackTrace(); } Connection con = null; try { con = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/goods?characterEncording=UTF-8&serverTimezone=JST", "root", ""); PreparedStatement pstmt = con.prepareStatement("SELECT* FROM employee_info WHERE employee_id >= ?"); pstmt.setInt(1, 0); ResultSet rs; rs = pstmt.executeQuery(); /* インスタンス化、ファイルの書き出し */ while (rs.next()) { Entity sd = new Entity(); sd.setEmployeeId(rs.getInt("employee_id")); sd.setName(rs.getString("name")); sd.setNameHiragana(rs.getString("name_hiragana")); sd.setBirthday(rs.getString("birthday")); sd.setSex(rs.getInt("sex")); sd.setMailAddress(rs.getString("mail_address")); sd.setTelephoneNumber(rs.getString("telephone_number")); sd.setCompanyInfoId(rs.getInt("company_info_id")); sd.setHireDate(rs.getString("hire_date")); sd.setEnrollmentYear(rs.getString("enrollment_year")); sd.setEnrollmentMonth(rs.getString("enrollment_month")); sd.setEnrollmentDay(rs.getString("enrollment_day")); list.add(sd); } rs.close(); pstmt.close(); } catch (SQLException e) { //例外発生時の処理 e.printStackTrace(); //エラー内容をコンソールに出力する } finally { /* データベース接続の切断 */ if (con != null) { try { con.close(); } catch (SQLException e) { //接続失敗時の処理 e.printStackTrace(); } } } return list; } }
コード
} }コード
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。