자바 로 my sql 대 크로스 바 연결 하기\"전의 테스트 에 대한 자세 한 설명
2923 단어 자바mysql역 슬 래 쉬 전의
자바 에 서 는 역 슬 래 쉬"\"의 전 의 는"\"이 므 로"\"를 표시 할 때"\\\"를 사용 해 야 합 니 다.정규 표현 식 이 라면"\"를 표시 할 때"\\\\\"를 사용 해 야 합 니 다.my sql 에 서 는 역 슬 래 쉬 의 전 의 는 여전히"\"로 자바 와 같 습 니 다.
현재 문 제 는 my sql 의 한 필드 의 내용 이 역 슬 래 쉬 를 포함 하고 자바 연결 my sql 을 통 해 이 필드 가 있 는 항목 을 선별 하려 면 어떻게 써 야 이 필드 를 선별 할 수 있 습 니까?다음은 실험 이다.
1,먼저 테스트 데 이 터 를 작성:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
);
insert into test (name) values ('\\'), ('\\\\');
데이터베이스 에 두 개의 데 이 터 를 삽입 합 니 다.name 의 값 은 각각"\"와"\\"입 니 다.2.jdbc 를 사용 하여 my sql 에 연결 한 다음 선별 조건 을 테스트 합 니 다.
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
PreparedStatement pstmt = conn.prepareStatement("select * from test where * "); // “* ”
pstmt.setString(1, "* "); // “* ”
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("name"));
}
3,테스트:i.
*조건:name=?
*필터 값 은:
"\\"는 name 이"\"인 데 이 터 를 선별 할 수 있 습 니 다.
"\\\\"name 이"\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
이게 좀 정상 인 것 같 아 요.
ii.
*조건:name like?
*필터 값 은:
"\\"또는"\\\\\\\"name 이"\"인 데 이 터 를 선별 할 수 있 습 니 다.
"\\\\\\\\"또는"\\\\\\\\\\\\\\\"는 name 이"\\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
이제 이상 하지 않 아..
iii.
*조건:name like'%'?
*필터 값 은:
"\\"또는"\\\\\"는 name 과"\\\"의 데 이 터 를 선별 할 수 있 습 니 다.
"\\\\\\\\"또는"\\\\\\\\\\\\\\\"는 name 이"\\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
ii 랑 비슷 해 요.
iv.
*조건:name like?'%'
*필터 값 은:
"\\\\"는 name 이"\"와"\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
"\\\\\\\\\\"name 이"\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
또 정상 이 된 것 같 아...정규 중의 전의 와 비슷 해.
v.
*조건:name like'%'?'%'
*필터 값 은:
"\\\\"는 name 이"\"와"\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
"\\\\\\\\\\"name 이"\\\"인 데 이 터 를 선별 할 수 있 습 니 다.
비슷 하 다
4.분석:
'='방식 으로 선별 하 는 것 은 일반적인 이해 에서 의 전의 인 것 같 지만'like'를 사용 하면 이상 하 게 변 하기 시작 합 니 다.테스트 를 보면'like'를 사용 하여 정규 식 과 유사 하지만'%'자 리 를 차지 하지 않 은 선별 에서 일반적인 전 의 는 여전히 효과 가 있 습 니 다.또한,이상 한 것 은 ii.ii.중 6 개의 역 슬 래 쉬 가 무슨 귀신 인지...전혀 이해 가 안 돼...
5.결론:
sql 문 구 는"="로 선별 할 때 자바 는 일반적인 전 의 를 사용 하면 됩 니 다.
sql 문 구 는"like"로 선별 할 때 정규 전의 를 사용 하 는 것 이 좋 습 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.