[spring] JDBC
JDBC
データベースを処理するJava APIとして、DBMSを考慮せずにJDBCクエリ文を介して必要なデータを受信する.
動作順序
1.JDBCドライバのロード
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, uid, pwd);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query); //값이 여러개로 구해지는 경우
stuList = new ArrayList<StudentVO>();
while(rs.next()) { // rs.next() 1행을 읽어올것이 없다면 false, 읽어나올 것이 있다면 읽어 나온 값을 가지고 있음.
StudentVO vo = new StudentVO();
//vo.setStuno(rs.getInt(1)); 와 밑은 같은 코드
vo.setStuno(rs.getInt("empno"));
}
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, vo.getName());
int result = ps.executeUpdate(); //변경후 반환하는 결과값이 행의 개수인 경우
conn.close(); st.close();
接続プール
複数のDB接続を作成して保存し、必要に応じて複数のユーザーが使用できるように1つポップアップします.
JNDI
ディレクトリ・サービスによって提供されるデータおよびオブジェクトの検出および参照に使用されるJava API.
📋JDBC/JNDI差異
既存のJDBCは接続プールを使用しているが、性能が悪い.
テーブル名、ユーザー名、パスワードなどを複数変更する必要がある場合や、他のDBMSを複数変更する必要がある場合は、コネクタプール(JDBC設定)やパラメータを変更する必要がある場合に使用できます.
Driver.properties
propertiesファイルを個別に管理する理由は、非表示にするためです.
#Driver.properties
driver = ~
url = ~
user = ~
pwd = ~
🚨ソースコードにアップロードしないように注意!--デザインモード
モノトーンモード
1つの設計モードで、最初のメモリのみを割り当て(静的)、メモリにインスタンスを作成します.
複数回呼び出されても、実際に生成されたオブジェクトは1つしかありません!!
Class Example {
Example e = new Example();
}
public static Example getInstance(){
return e;
}
Example e1 = Example.getInstance();
Example.e1
JDBCプロジェクトの実施
構成
Model - Service, Dao, Vo
View - View
Controller - Controller
🤔View → Controller → Service → Dao → Vo
Reference
この問題について([spring] JDBC), 我々は、より多くの情報をここで見つけました https://velog.io/@kyy806/JDBCテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol