우리의 프로그래밍 프로세스의 대부분은 Mybatis, Hibernate, SpringJDBC와 같은 우수한 ORM 프레임 워크를 사용하지만 데이터 중심의 JDBC의 지원과 비교할 수 없습니다. 사용하기가 매우 편리하지만 밤새 잘 자지 못하는 문제와 같은 문제와 같은 몇 가지 문제가 발생하기가 정말 어렵습니다. JDBC는 실행 데이터를 생성합니다. 세부 사항을 살펴 보겠습니다.
일반적으로 우리는 mybatis 프레임 워크를 사용하여 관계형 데이터베이스를 작동시키고 기본 데이터베이스는 CRUD 작업입니다. 현재 회사는 SQLServer 데이터베이스를 사용하고 있지만 업데이트 작업을 수행 할 때 문제가 있습니다. 특정 상황은 다음과 같습니다.
mapper.xml 컨텐츠 :
<업데이트 id = "updateDriverInfoByUcode"ParameterType = "com.sypro.earth.model.driverInfo"> 업데이트 d_driverInfo <set> <if test = "drivername! = null"> drivername = #{drivername, jdbctype = nvarchar}, </if> </set> <where> ucode = #{ucode, javatype = string, jdbctype = varchar, typehandler = com.sypro.earth.typehandler.examplethandler} </update> 테스트 코드는 다음과 같습니다.
@TestPublic void test8 () {driverInfo driverInfo = new driverInfo (); driverInfo.setDriverName ( "wang xiaoer"); driverInfo.setUcode ( "ty888888"); driverInfomymapper.upDatedRiverInfoByucode (driverInfo);}; 작업 번호에 따라 운전자 이름을 업데이트하지만 SQL Server를 사용하여 감지 한 SQL 문은 다음과 같습니다.
(@p0 nvarchar (4000),@p1 nvarchar (4000)) 업데이트 d_driverinfoset drivername =@p0, 여기서 ucode =@p1
물론 데이터베이스 연결 문자열을 여기에 게시하고 싶습니다.
jdbc/: sqlserver/: //127.0.0.1; databaseName/= new;
현재 실행 계획을 확인할 수 있습니다.
//www.vevb.com/article/90264.htm
매우 느리지 만 연결 문자열을 조금 수정함으로써 :
jdbc/: sqlserver/: //127.0.0.1; databasename/= new; sendstringparametersasunicode = false
그런 다음 테스트 코드를 실행하면 볼 수 있습니다
(@p0 varchar (8000),@p1 varchar (8000)) 업데이트 d_driverinfoset drivername =@p0, 여기서 ucode =@p1
배치 업데이트의 실행 속도가 크게 향상되었습니다. 변경 사항의 변경 사항과 장단점은 아래의 공식 웹 사이트 문서를 참조하십시오.
https://technet.microsoft.com/zh-cn/library/ms378857%28sql.90%29.aspx
https://technet.microsoft.com/zh-cn/library/ms378988%28v=sql.90%29.aspx
http://d.hatena.ne.jp/gnarl/20110706/1309945379
위는 편집자가 귀하에게 소개 한 JDBC 데이터 드라이버를 통해 MyBatis가 생성 한 실행 명령문 문제입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!