jdbc MySQL 데이터베이스 연결 간단 한 응용
3572 단어 자바
다음은 하나의 demo 를 통 해 콘 솔 에서 데이터 베 이 스 를 입력 한 사용자 이름과 비밀 번 호 를 MySQL 에 연결 하고 student 표를 만들어 삽입 과 조회 기능 을 실현 합 니 다!
DriverManager.getConnection("jdbc:mysql://localhost:3306/student",Uname,psw);연결 만 들 기
public static void main(String[] args) throws Exception{
Connection conn=null;
try {
String sql="";
//
Scanner in=new Scanner(System.in);
System.out.println(" :");
String Uname=in.next();
System.out.println(" :");
String psw=in.next();
// MySQL
Class.forName("com.mysql.jdbc.Driver");
//
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student",Uname,psw);
// Statement
Statement st=conn.createStatement();
// student
sql = "create table student(id char(20),name varchar(20),primary key(id))";
//
int result=st.executeUpdate(sql);
//result!=-1
if(result!=-1){
System.out.println(" ");
//
sql = "insert into student(id,name) values('001','james')";
result = st.executeUpdate(sql);
//
sql="select * from student";
// resultset
ResultSet rs=st.executeQuery(sql);
//
while(rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
System.out.println(id+" ");
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//
conn.close();
}
}
주의:본 논문 에서 사용 하 는 statement 대상 은 SQL 문 구 를 실 행 했 지만 실제 프로젝트 에서 우 리 는 이 대상 을 prepared statement 으로 대체 했다.이 유 는 다음 과 같다.
1、 Prepared Statement 인터페이스 계승 Statement, Prepared Statement 인 스 턴 스 는 컴 파일 된 SQL 문 구 를 포함 하기 때문에 실행 속도 가 Statement 대상 보다 빠 릅 니 다.
2.Statement 의 하위 클래스 로 서 Prepared Statement 은 Statement 의 모든 기능 을 계승 합 니 다.세 가지 방법
execute,executeQuery,executeUpdate 는 인자 가 필요 하지 않 게 변경 되 었 습 니 다.
3.가장 중요 한 것 은 안전성 을 크게 향상 시 켰 다 는 것 입 니 다.아직도 일부 사람들 은 기본 적 인 악의 SQL 문법 도 모 릅 니 다.string sql="select*from tb"name where name= '"+varname+"' and passwd='"+varpasswd+"'";만약 우리 가[or'1'='1]을 varpasswd 로 전달한다 면,사용자 이름 은 마음대로,무엇이 될 지 봅 시다.select * from tb_name='임의의'and passwd='or'1'='1';'1'='1'은 반드시 성립 되 기 때문에 모든 검증 을 통과 할 수 있 습 니 다.더욱 심 한 것 은['를...drop table tb_name;]varpasswd 로 들 어 오 면:select*from tbname='마음대로'and passwd=';drop table tb_name;일부 데이터 베 이 스 는 성공 하지 못 하지만 많은 데이터 베 이 스 를 사용 하면 이 문 구 를 실행 할 수 있 습 니 다.사전 컴 파일 문 구 를 사용 하면 들 어 오 는 모든 내용 이 원래 의 문장 과 일치 하 는 관 계 를 가지 지 않 습 니 다.사전 컴 파일 문 구 를 모두 사용 하면 들 어 오 는 데이터 에 대해 서 는 아무런 걱정 하지 않 아 도 됩 니 다.일반적인 statement 을 사용 하면 drop 에 대해 서 는 drop 을 사용 할 수 있 습 니 다.심혈 을 기울 인 판단 과 과 걱정 을 하 다.
마지막 으로 프로젝트 개발 에 있어 preparedstatement 대상 을 사용 하면 본인 의 라 는 글 을 참고 할 수 있 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.