자바 로 my sql 대 크로스 바 연결 하기\"전의 테스트 에 대한 자세 한 설명

머리말
자바 에 서 는 역 슬 래 쉬"\"의 전 의 는"\"이 므 로"\"를 표시 할 때"\\\"를 사용 해 야 합 니 다.정규 표현 식 이 라면"\"를 표시 할 때"\\\\\"를 사용 해 야 합 니 다.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"로 선별 할 때 정규 전의 를 사용 하 는 것 이 좋 습 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기