자바 구현 의 중간 라 이브 러 리
1. 배경
중간 라 이브 러 리 는 주로 하나의 큰 시스템 의 여러 데이터 베 이 스 를 해결 하 는 데 사용 되 는데 그 중에서 여러 개의 데이터 베 이 스 는 데 이 터 를 백업 하거나 업무 데 이 터 를 저장 하 는 데 사용 된다.중간 라 이브 러 리 는 두 시스템 간 의 인터페이스 문 제 를 해결 하고 두 시스템 이 공동으로 이 중간 데이터 베 이 스 를 조작 하여 데이터 의 상호작용 을 할 수 있다.
2. 환경
이 인 스 턴 스 가 사용 하 는 데이터 베 이 스 는 모두 MYSQL 이 며, Spring 의 IOC 주입 과 JdbcTemplate 기술 도 충분히 이용 하 였 다.다음 Jar 패 키 지 를 자바 프로젝트 에 도입 합 니 다: comons - logging - 1.0.4. jar, my sql - connector - java - 5.0.3 - bin. jar 와 spring. jar.MYDB 데이터 베 이 스 는 응용 시스템 의 데이터베이스 이 고 MYTEMPDB 데이터 베 이 스 는 중간 데이터베이스 이다.하나의 응용 시스템 은 이 중간 라 이브 러 리 에 데 이 터 를 쓰 고 다른 시스템 은 중간 라 이브 러 리 에서 데 이 터 를 가 져 옵 니 다.
3. 새 데이터베이스, MySql 에서 다음 스 크 립 트 를 실행 합 니 다.
#############################################################################################
CREATE DATABASE MYDB;
use MYDB;
Drop TABLE IF EXISTS `MYDB`.`student`;
Create TABLE `MYDB`.`student` (
`name` varchar(40) NOT NULL,
`psw` varchar(10) NOT NULL,
`enabled` boolean
);
insert into student values("lanp","lanpiao",true);
insert into student values("ph","ph",true);
insert into student values("wxh","wxh",true);
###############################################################
CREATE DATABASE MYTEMPDB;
use MYTEMPDB;
Drop TABLE IF EXISTS `MYTEMPDB`.`student`;
Create TABLE `MYTEMPDB`.`student` (
`name` varchar(40) NOT NULL,
`psw` varchar(10) NOT NULL,
`enabled` boolean
);
#############################################################################################
4. 자바 프로젝트 의 src 아래 에 beans. xml 파일 을 새로 만 듭 니 다. Spring 의 주입 정 보 를 설정 하 는 데 사 용 됩 니 다. 코드 는 다음 과 같 습 니 다.
com.mysql.jdbc.Driver
jdbc:mysql://127.0.0.1:3306/MYDB
root
157891
com.mysql.jdbc.Driver
jdbc:mysql://127.0.0.1:3306/MYTEMPDB
root
157891
5. MyDbStudentDaoJdbc 클래스 를 새로 만 듭 니 다. 이 시스템 에서 중간 라 이브 러 리 에 쓸 데 이 터 를 가 져 오 는 데 사 용 됩 니 다. 코드 는 다음 과 같 습 니 다.
package com.lanp.dao;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* DAO
* @author LanP
* @since 2011-11-04 15:00
* @version V1.0
*/
public class MyDbStudentDaoJdbc {
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@SuppressWarnings("unchecked")
public List getAllStudents() {
String sql = "select * from student";
List students = jdbcTemplate.queryForList(sql);
return students;
}
}
6. 새 TempDb Student DaoJdbc 클래스 는 중간 라 이브 러 리 에 데 이 터 를 쓰 는 데 사 용 됩 니 다. 코드 는 다음 과 같 습 니 다.
package com.lanp.dao;
import java.util.Map;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* DAO
* @author LanP
* @since 2011-11-04 15:00
* @version V1.0
*/
public class TempDbStudentDaoJdbc {
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@SuppressWarnings("unchecked")
public int setStudents(Map student) {
int result = 0;
if(null != student) {
if(null != student.get("name") && !"".equals(student.get("name"))
&& null != student.get("psw") && !"".equals(student.get("psw"))
&& null != student.get("enabled") && !"".equals(student.get("enabled"))) {
String sql = "insert into student values(?,?,?)";
result = jdbcTemplate.update(sql, new Object[]{student.get("name"),student.get("psw"),student.get("enabled")});
}
}
return result;
}
}
7. 새로운 MyDbPutDataToTemp 클래스 는 테스트 에 사 용 됩 니 다. 코드 는 다음 과 같 습 니 다.
package com.lanp;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.lanp.dao.MyDbStudentDaoJdbc;
import com.lanp.dao.TempDbStudentDaoJdbc;
/**
* MYDB Student MYTEMPDB Student
* @author LanP
* @since 2011-11-04 15:00
* @version V1.0
*/
public class MyDbPutDataToTemp {
/**
*
* @param args
* @throws SQLException
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) throws SQLException {
//1. beans.xml
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
//2. MYDB Student
MyDbStudentDaoJdbc myDbStudentDaoJdbc = (MyDbStudentDaoJdbc)ctx.getBean("myDbStudentDao");
//3.MYTEMPDB DAO
TempDbStudentDaoJdbc tempDbStudentDaoJdbc = (TempDbStudentDaoJdbc)ctx.getBean("tempDbStudentDao");
//4. MYDB Student MYTEMPDB Student
List students = myDbStudentDaoJdbc.getAllStudents();
if(null != students && students.size() > 0) {
for(int i=0;i
OK,TKS!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.