職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

Eclipseでコマンドライン引数を与えて実行する方法

2015年05月25日 | Eclipse4.4
Eclipseでコマンドライン引数を与えて実行する方法

例:Sample3(A,B)を実行するには

1)実行構成をオープンする
2)名前→ファイル名:Sample3を入れる
3)(x)=引数をクリックして
プログラムの引数(A)のテキストにA Bを入れる
4)実行ボタンを押す
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

javaサーブレットとmysql

2015年05月22日 | Eclipse4.4

javaサーブレットとmysqlの連携


【MYSQL】
・データベース:sampledbを作る
mysql>create database sampledb;

・テーブル:userinfoを作る
mysql>CREATE TABLE userinfo(
->userid VARCHAR(10) PRIMARY KEY,
->status INTEGER NOT NULL
->)ENGINE=InnoDB;

・データの入力
mysql>INSERT INTO userinfo(userid, status) VALUES("aaaa1234", 0);
mysql>INSERT INTO userinfo(userid, status) VALUES("zzzz9876", 2);

【Eclipse】
設定
JDBCドライバをプロジェクトに追加する。
ダウンロードしておいた mysql-connector-java-5.1.10-bin.jar(最新版を使う) をエクスプローラからlibディレクトリ[TomcatTest/WebContent/WEB-INF/lib]にドラッグ&ドロップする

【MysqlTestサーブレット】
package a;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class MysqlTest
*/
@WebServlet("/MysqlTest")
public class MysqlTest extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public MysqlTest() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql:///sampledb?user=root&password=H1234");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT userid,status FROM userinfo");

response.setContentType("text/plain");
while (rs.next()) {
response.getWriter().write("userid=" + rs.getString("userid") + ", ");
response.getWriter().write("status=" + rs.getString("status") + "\n");
}
} catch(Exception e) {
e.printStackTrace();
} finally {
if (rs != null ) { try {rs.close(); } catch (SQLException e) {e.printStackTrace();} }
if (stmt != null ) { try {stmt.close(); } catch (SQLException e) {e.printStackTrace();} }
if (conn != null ) { try {conn.close(); } catch (SQLException e) {e.printStackTrace();} }
}

}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}

【表示】
userid=aaaa1234, status=0
userid=zzzz9876, status=2

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

eclipseでjavaのパッケージの赤☓を消すには

2015年05月21日 | java
eclipseの赤バツが消えず、困っております。

eclipseを使用し、javaでwebアプリを開発中です。
パッケージ・エクスプローラーから誤ってパッケージを削除したことがありました。
そのとき Ctrl+Z で、削除したパッケージを復活させたのですが、
そのときから、ソースフォルダに赤バツがついたまま消えません。
原因が分からず、困っております。
(赤バツがついているのはソースフォルダのみで、ソースフォルダ内のパッケージやjavaファイルには一切赤バツはありません。)

アプリの動作はいたって正常で特にエラーが出たりしません。
もし、原因が分かる方がいらっしゃいましたら、
ご教示願います。

解答
プロジェクト → プロパティ → Javaのビルド・パス → プロジェクトタブ

で参照しているプロジェクトも確認してみてください。

後はエクスプローラーでワークスペースを見て、ConfigFormってのがないか確認

または一度プロジェクトをエクスポート、インポートでしょうか?
・ファイル → エクスポート → 一般 → ファイルシステム → エクスポートするファイルをチェックしてデスクトップなどにエクスポート
・プロジェクトから削除(できればコンテンツごと削除)
・同名のプロジェクトを作成し、ファイルシステムでインポート
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

テキストファイルからデータをインポート

2015年05月13日 | mySQL
テキストファイルからデータをインポート

mysql> select * from tb1n;
+------+------+------+
| bang | nama | tosi |
+------+------+------+
| A101 | 佐藤 | 40 |
| A102 | 高橋 | 28 |
| A103 | 中川 | 20 |
| A104 | 渡辺 | 23 |
| A105 | 西沢 | 35 |
+------+------+------+
5 rows in set (0.01 sec)

インポートするテキストファイル(t.csv)
c:/data/t.csv
N551,佐々木,37
N552,伊藤,41
N553,斉藤,31
N554,井上,43
N555,阿部,31

mysql> load data infile 'c:/data/t.csv' into table tb1n
-> fields terminated by ',';
Query OK, 5 rows affected (0.07 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from tb1n;
+------+--------+------+
| bang | nama | tosi |
+------+--------+------+
| A101 | 佐藤 | 40 |
| A102 | 高橋 | 28 |
| A103 | 中川 | 20 |
| A104 | 渡辺 | 23 |
| A105 | 西沢 | 35 |
| N551 | 佐々木 | 37 |
| N552 | 伊藤 | 41 |
| N553 | 斉藤 | 31 |
| N554 | 井上 | 43 |
| N555 | 阿部 | 31 |
+------+--------+------+
10 rows in set (0.03 sec)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ストレージエンジンとトランザクション

2015年05月13日 | mySQL
ストレージエンジンとトランザクション


◎ストレージエンジン
通常、RDMBSはいくつかの構成要素によって成り立っており、SQL文を受け取って結果を返すデータベースエンジン部、アプリケーションとデータベースエンジンを結びつけるクライアントモジュールや様々なツール群などから成り立っています。
つまり、何かを検索したり、ファイル操作の際に動くやつ

◎ストレージエンジンの種類
MYSQL5.5以上では、InnoDBを使う

◎ストレージエンジンの確認
mysql> show create table tb \G
*************************** 1. row ***************************
Table: tb
Create Table: CREATE TABLE `tb` (
`bang` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`uria` int(11) DEFAULT NULL,
`tuki` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.13 sec)

■トランザクション
SQLではデータ更新処理を行う際、複数の更新処理を連続して実行し、1つの関連性のある集まりとして管理する必要があるものがあります。SQLでは、このような複数のデータ更新処理を1つの単位にまとめ、管理することが可能です。この処理単位のことをトランザクションと呼びます。

mysql> select * from tb;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+------+------+------+
10 rows in set (0.02 sec)

■トランザクションの実行
mysql> start transaction;
Query OK, 0 rows affected (0.02 sec)

テーブル削除
mysql> delete from tb;
Query OK, 10 rows affected (0.06 sec)

mysql> select * from tb;
Empty set (0.00 sec)

復活
mysql> rollback;
Query OK, 0 rows affected (0.08 sec)

mysql> select * from tb;
+------+------+------+
| bang | uria | tuki |
+------+------+------+
| A103 | 101 | 4 |
| A102 | 54 | 5 |
| A104 | 181 | 4 |
| A101 | 184 | 4 |
| A103 | 17 | 5 |
| A101 | 300 | 5 |
| A102 | 205 | 6 |
| A104 | 93 | 5 |
| A103 | 12 | 6 |
| A107 | 87 | 6 |
+------+------+------+
10 rows in set (0.00 sec)

mysql> delete from tb;
Query OK, 10 rows affected (0.06 sec)

コミットする
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
コミットする
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
復活できない
mysql> select * from tb;
Empty set (0.00 sec)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする