mybatis가 필요한 이유는 무엇입니까?
Mybatis는 Java ORM 프레임 워크이며 ORM은 개발을 단순화하기 위해 등장했습니다. 초기 개발 방법은 비즈니스 로직 및 데이터베이스 쿼리 로직이 프로그램에 SQL 문을 작성하거나 SQL 저장 프로 시저를 호출하는 것이 분리되었다는 것입니다. 이로 인해 언어 로직과 SQL 로직 사이를 전환해야하여 비효율적 인 개발이 발생합니다. 따라서 일련의 ORM 프레임 워크가 등장했습니다. ORM 프레임 워크는 데이터베이스 테이블 및 Java 개체에 해당합니다. 데이터베이스를 작동 할 때는 여러 및 조건을 설정하고 몇 가지 속성을 설정하는 것과 같은 객체의 Java 객체 만 작동하면됩니다.
mybatis 생성기가 필요한 이유는 무엇입니까?
mybatis 프레임 워크가 있지만 학습 mybatis에는 학습 비용이 필요합니다. 특히 필요한 XML 파일을 구성하려면 매우 번거롭고 구성에서 오류가 발생하여 찾기가 쉽지 않습니다. 설명 할 수없는 실수 나 대량의 물체가 생성되어야하는 경우, 종종 살기를 꺼려하고 마음 속에 방황하는 느낌이 종종 있습니다. 따라서 Mybatis 생성기가 생겼습니다.
Mybatis Java 객체에 대량의 테이블을 생성하기 위해 간단한 구성 만 있으면됩니다. 빠르고 오류가 없기 때문에 개발자가 비즈니스 논리 개발에 진정으로 집중할 수 있습니다.
공식 MyBatis 생성기 기능은 비교적 간단하며, 약간 복잡한 페이지 매김 기능, 배치 삽입 기능 등에 대해 구현되지 않았지만 필연적으로 개발에 사용되지만 성숙한 플러그인 기능이 지원됩니다.
나는 우리가 일반적으로 사용하는 mybatis 생성 도구를 Github에 넣었습니다. Github, 배치 삽입 및 직렬화 기능이 통합되어 있습니다. 여기에서 확인하고 이미 사용하는 방법을 소개했습니다.
mybatis 생성기 파일 구조
생성 된 파일에는 세 가지 범주가 포함됩니다.
1. 모델 엔티티 파일, 데이터베이스 테이블은 모델 엔티티를 생성합니다.
2. ModelExample 파일,이 파일 및 엔티티 파일은 동일한 디렉토리에 있으며 주로 조건부 구성 쿼리에 사용됩니다.
3. Mapper 인터페이스 파일 및 데이터 작동 방법은이 인터페이스에서 정의되어 있습니다.
4.Mapper XML 구성 파일;
구성 파일에서 파일 생성 경로를 구성하고 해당 패키지 이름을 설정하여 해당 디렉토리 구조 및 파일을 생성하십시오. 생성 된 디렉토리를 테스트 디렉토리로 설정하고 엔티티 패키지 이름은 com.fengzheng.dao.entity이고 인터페이스 패키지 이름은 com.fengzheng.dao.mapper입니다. 그런 다음 생성 된 파일 디렉토리 구조는 다음과 같습니다.
코드를 작성하는 방법
모든 메소드 호출은 생성 된 인터페이스 파일에서 나옵니다. Spring MVC에서는 발신자에게 선언해야합니다. 블랙리스트 인터페이스를 예로 사용하면 생성 된 인터페이스 파일은 BlackListipMapper이므로 발신자는 다음과 같이이 인터페이스를 선언해야합니다.
@autowiredPrivate BlackListipMapper BlackListipMapper;
데이터베이스 쿼리
쿼리는 가장 일반적으로 사용되는 기능입니다. 다음 방법은 IP가 특정 값인 레코드를 쿼리하는 것입니다. 기본 키를 알고 있으면 SelectByPrimaryKey 메소드를 사용할 수 있습니다.
public blacklistip get (string ip) {blacklistipexample example = new BlackListipexample (); example.createCriteria (); andipequalto (ip); list <blacklistip> blacklistmapper.selectbyexample (examplist! = null && blacklistiplist.size () {) {). blacklistiplist.get (0);} return null;} 방법을 호출하는 방법은 비슷합니다. 자세한 내용은 관련 문서의 소개를 참조하십시오.
종류
Public BlackListip get (String IP) {BlackListipexample example = new BlackListipexample (); example.setorderByclause ( "create_time desc"); // 생성 시간 example.createCriteria (); andipequalto (ip); list <blackListip> blackListipList = blackListMapper.SelectByExample (예); if (blackListipList! = null && blackListipList.Size ()> 0) {return BlackListipList.get (0);};쪽수 매기기
public pageinfo 목록 (계정 계정, pageinfo pageinfo, string starttime, string endtime) {ac {example.setLimitClauseStart(pageInfo.getPageStart());example.setLimitClauseCount(pageInfo.getPageCount());}example.setOrderByClause(" CREATE_TIME desc ");List<Account> list = accountMapper.selectByExample(example);int totalCount = ac a = x 및 (b = xx 또는 b = xxx)와 같은 쿼리 조건을 구현합니다.
코드를 자동으로 생성하는 것이 편리하지만 모든 장점과 단점이 있습니다. Mybatis Generator는 테이블 조인 기능을 생성 할 방법이 없으므로 수동으로 만 추가 할 수 있습니다. a = x 및 (b = xx 또는 b = xxx)와 같은 조건부 스 플라이 싱은 다음과 같이 구현됩니다.
Accountexample Accountexample = New Accountexample (); Accountexample.criteria criteria = Accountexample.createCriteria (). andtypeequalto ( "4"); criteria.addcriterion (string.format ( "(id =%d 또는 id =%d)", 34,35); AccountMapper.SelectByExample (AccounteXample); 반환 계정;
그러나 작은 코드를 수정하고 org.mybatis.generator.codegen.mybatis3.model 패키지, 변경 메소드 (javavisability.protected) 아래에서 524 번째 example -Generator 라인을 수정해야합니다. method.setvisability (javavisability.public);
변경 사항은 Github와 동기화되었습니다.
위는 편집자가 소개 한 Mybatis Generator의 코드 및 사용입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!