springBoot 에서 자바 자동 데이터베이스 시트 만 들 기

SpringBoot 환경 시작 프로젝트 데이터베이스 시트 만 들 기
사용 환경
windows+eclipse+mysql+navicat
순서
1.SpringBoot 프로젝트 만 들 기
2.새 데이터베이스,연결 정보 설정
3.데이터베이스 테이블 클래스 초기 화 작성
4.보기 결과 실행
1.SpringBoot 프로젝트 만 들 기
SpringBoot 프로젝트 를 만 드 는 방법 에 대해 서 는 더 이상 설명 하지 않 고 실행 가능 한 SpringBoot 프로젝트 를 만 들 면 됩 니 다.
2.새 데이터베이스,연결 정보 설정
2.1 새 데이터베이스
Navicat 를 열 어 Mysql 연결 을 새로 만 듭 니 다.
2.2 연결 정보 설정
다음 그림 파일 과 같은 항목 을 찾 았 습 니 다.파일 을 열 고 설정 을 추가 합 니 다:
在这里插入图片描述
위 파일 을 열 고 다음 코드 를 추가 합 니 다.

# datasource
folivora.datasource.url=jdbc:mysql://localhost:3306/nfsj?useUnicode=true&characterEncoding=utf-8
folivora.datasource.username=root
folivora.datasource.password=123456
folivora.datasource.driver-class-name=com.mysql.jdbc.Driver
메모:이 설정 정 보 는 하늘 에서 데이터 베 이 스 를 만 들 때의 설정 정보 입 니 다.
3.데이터베이스 테이블 클래스 초기 화 작성
프로젝트 디 렉 터 리 src/main/java 에 가방 을 새로 만 듭 니 다.임의로 신청 하고 가방 아래 에 클래스 를 새로 만 듭 니 다.클래스 이름 은'InitSys Admin Divisions.java'(클래스 이름 도 스스로 명명 할 수 있 습 니 다)입 니 다.
InitSysAdminDivisions.java

package cn.idatatech.folivora.modules.sys.common;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;

//SpringBoot         
//@RunWith(SpringRunner.class)
//@SpringBootTest
//@Component
@Repository  //   @Component,      
/**
 *               ,    @PropertySource  ,                      ,     
 *                 
 */
//@PropertySource({"classpath:application.properties","classpath:config/config.properties"})  
public class InitSysAdminDivisions {

	@Value(value = "${folivora.datasource.driver-class-name}")
	private String driver;   
	
	@Value(value = "${folivora.datasource.url}")
	private String url;   
	
	@Value(value = "${folivora.datasource.username}")
	private String userName;
	
	@Value(value = "${folivora.datasource.password}")
	private String password;
	
	@PostConstruct
	public void init() throws SQLException, ClassNotFoundException{
		//     
		Class.forName(driver);
		//  url     useSSL  ,            
		if( url.indexOf("?") == -1 ){
			url = url + "?useSSL=false" ;
		}
		else if( url.indexOf("useSSL=false") == -1 || url.indexOf("useSSL=true") == -1 )
		{
			url = url + "&useSSL=false";
		}
		Connection conn = DriverManager.getConnection(url, userName, password);
		Statement stat = conn.createStatement();
		//       
		ResultSet rs = conn.getMetaData().getTables(null, null, "sys_admin_divisions", null);
		
		//        ,          ,     
		if( rs.next() ){
			return;
		}
		else{
			//          ,          
//			stat.executeUpdate("DROP TABLE IF EXISTS sys_admin_divisions;CREATE TABLE sys_admin_divisions("
			//       
			stat.executeUpdate("CREATE TABLE sys_admin_divisions("
					+ "ID varchar(32) NOT NULL COMMENT '    ID(      )     32  UUID,              ID( :440000)',"
					+ "TYPE varchar(50) DEFAULT NULL COMMENT '  (1   2   3  )',"
					+ "CODE varchar(50) DEFAULT NULL COMMENT '    ',"
					+ "NAME varchar(100) DEFAULT NULL COMMENT '  ',"
					+ "PINYIN varchar(100) DEFAULT NULL COMMENT '  ',"
					+ "PARENT_ID varchar(32) DEFAULT NULL COMMENT '          ',"
					+ "IS_DISPLAY int(1) DEFAULT NULL COMMENT '    ( 0:  1:  )',"
					+ "SORT bigint(20) DEFAULT NULL COMMENT '    ',"
					+ "DEL_FLAG int(1) DEFAULT NULL COMMENT '    (0:   1:   )',"
					+ "PRIMARY KEY (ID)"
					+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='     (   )';"
					);
		}
		//     
		stat.close();
        conn.close();
	}
}
주:위의 건축 표 논 리 는 데이터베이스 에 만 들 표 가 있 는 지 여 부 를 먼저 판단 하고 있 으 면 아무런 조작 도 하지 않 습 니 다.데이터베이스 에 만 들 표 가 존재 하지 않 으 면 새 표를 만 듭 니 다.구체 적 인 논 리 는 자신의 수요 에 따라 정의 할 수 있다.
데이터베이스 에 표 가 존재 하 는 지 판단 하 는 판단 작업 을 없 애고 주석 을 사용 할 수도 있 습 니 다.표 가 존재 하면 표 가 생 성 표 에 있 는 데 이 터 를 먼저 삭제 합 니 다.
4.보기 결과 실행
프로젝트 의 application.자바 류 를 찾 아 이 종 류 를 실행 하고 실행 이 끝 난 후에 navicate 를 열 어 자신의 데이터 베 이 스 를 보 니 데이터 베이스 에'sys'라 는 표 가 만 들 어 졌 습 니 다.admin_divisions"의 표 와 표 의 관련 필드.
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기