固定的な思考枠を自分の頭で死なせてはいけない.

2724 ワード

今日はsqliteでテストをします.雑多な配置ができてから、走り始めました.その結果、sqliteは構成がよくなく、mockテストを使ったことがないことが分かったので、daoの実装にmain方法を書いた.dbファイルはプロジェクトの下に置かれます.
	public static void main(String[] args) throws SQLException,
			ClassNotFoundException {

		ApplicationContext ctx = new ClassPathXmlApplicationContext( 
				"applicationContext.xml");
		DataSource dataSource = (DataSource) ctx.getBean("dataSource");

		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

		SqlRowSet sqlRowSet = jdbcTemplate
				.queryForRowSet("select * from vgs_tlyr_index");

		List l = new ArrayList();
		while (sqlRowSet.next()) {//  
			System.out.println(sqlRowSet.getString("LYRALIAS"));
			Map map = new HashMap();

			map.put("LYRALIAS", sqlRowSet.getString("LYRALIAS"));
			map.put("MINY", sqlRowSet.getString("MINY"));
			map.put("LYRURL", sqlRowSet.getString("LYRURL"));
			l.add(map);
		}
	}

結果は実行できます.そこで自然とdaoに書きました.
その後プログラムが走ってきて、表名が見つからないことに気づいた.考え始めたjdbcTemlateが初期化していないと思った.しかし、バックグラウンド表示コードを見ると、空のポインタ異常ではありません.デバッグしました.結果としてテーブル名が得られません.
最初は変な感じがしましたが、なぜmainメソッドで手に入れることができたのか、webでは得られませんでした.経路の問題だと思います.埋め込みデータベースにはあまり接触していなかったからです.だから、全然考えてない.dbファイルはどこに置きますか.
後で考えてみたら、経路の問題だと思いました.そこでsrcの下、プロジェクトディレクトリの下、各サブディレクトリの下に1つずつ配置する.dbファイル.走れると思ったら、がっかりした.
そこでネットで調べてみると、最初のページは基本的にSQLiteとJAVAというブログです.しかし、sqliteに関連するものは見られなかったようです.スプリングがderbyを構成する文章を見た.最初はやってみたい.結局、考えてみると、
これは絶対パスを使っているので、移植しにくいです.
この考えのため、私は長い間でたらめに推測していたが、種目を走ることができるかどうか考えていなかった.
あとはまだ
http://jinnianshilongnian.iteye.com/ kaitao兄が指摘した.絶対パスで試してみたことを思い出して、結果が出てきました.彼に感謝します.
だから、とても时間で、何気なく固定的な思考を使ったかもしれませんが、突然だめだと思って、すぐに放弃して、曲がって帰ってきて、もとは解決策がとっくにあなたに見られたことがあることを発見しました.君が無視しただけだ.
以前、javaプログラミング思想という本を思い出して、フォーラムの中でこの本はどうですかと言って、結果は探して探して、結果は発見して、私自身はずっと前から1冊あったことがあります.think in javaというだけです.
考えてみると、springとstruts 2の使用を学ぶとき、いつも例が見つからない.最後にhelloworldをいくつか書きました.自分もまあまあだと思います.そしてさらに向上しようとしたところ、あまり良い例がないことに気づきました.実は、ダウンロードしたパッケージには、すでに小さな例がたくさんあります.
宝山にいるのに知らないなんて、いろいろなことがあるでしょう.
希望、后で思惟はそんなに死なないでください!
しかし、mainメソッドを使用するときになぜ見つけられるのか、web環境では見つからないのか疑問です.
収穫は:1:絶対パスjdbc:sqlite:F:workspacesqlite 3vgs_を使用tile_sys.vts
2:jdbc:sqlite:/sqlite 3/vgs_を使用する場合tile_sys.vtsはpath to'/sqlite 3/vgs_をプロンプトしますtile_sys.vts':'D:sqlite 3'does not existプロジェクトはfディスクの下にあります.ディスクはjdk目
録画したディスク.
すなわち、本機では、アプリケーションContext.xml検索はjdk(tomcat構成)を現在のディレクトリとします.
まだ解決されていない問題:相対パスの使用方法.