spring-boot-mybatis-demo

9338 단어 bootmybatis
간략하게 설명 하 다.
spring-boot 는 orm 이 JPA 를 사용 하 는 것 을 권장 합 니 다.jpa 는 spring-boot 에 부합 되 기 때문에 설정 이념 을 간소화 합 니 다.하지만 최근 jpa 를 사용 하 는 과정 에서 여러 가지 불쾌 감 을 느 꼈 습 니 다.특히 여러 표 가 공동으로 조회 할 때 제 가 jpa 에 대해 깊이 파고 들 지 않 았 을 수도 있 습 니 다.개인 적 인 경험 으로 인해 my batis 는 많이 사용 되 기 때문에 현재 spring-boot 와 my batis 를 통합 합 니 다.약속 에 따 르 면,사실 spring-boot 통합 my batis 는 매우 간단 합 니 다.
의존 패키지 도입
pom.xml
<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>${mysql-connector.version}version>
dependency>
<dependency>
    <groupId>org.mybatis.spring.bootgroupId>
    <artifactId>mybatis-spring-boot-starterartifactId>
    <version>${mybatis-spring-boot.version}version>
dependency

설정 추가
application.properties
mybatis.mapper-locations=classpath:mapper/*.xml

이 설정 은 my batis 의 xml 맵 파일 위 치 를 표시 합 니 다.
mapper 주석 추가
@Mapper
@Mapper
public interface CityBeanMapper {
    long countByExample(CityBeanExample example);

    int deleteByExample(CityBeanExample example);

    int deleteByPrimaryKey(Short cityId);

    int insert(CityBean record);

    int insertSelective(CityBean record);

    List selectByExample(CityBeanExample example);

    CityBean selectByPrimaryKey(Short cityId);

    int updateByExampleSelective(@Param("record") CityBean record, @Param("example") CityBeanExample example);

    int updateByExample(@Param("record") CityBean record, @Param("example") CityBeanExample example);

    int updateByPrimaryKeySelective(CityBean record);

    int updateByPrimaryKey(CityBean record);
}

my batis 인터페이스 층 에@Mapper 주 해 를 추가 하여 spring 의 컨 텍스트 관리자 에 게 이 인 터 페 이 스 를 자동 으로 예화 시 키 고 spring 컨 텍스트 관리자 에 포함 시 키 면 나중에 사용 할 때 필요 한 클래스 에 자동 으로 주입 할 수 있 습 니 다.
서버 계층 사용
@Service(value = "cityService")
public class CityServiceImpl implements CityService {

  @Autowired
  private CityBeanMapper cityBeanMapper;

  @Transactional
  public Boolean save(CityBean cityBean) {
    if (null == cityBean.getCityId()) {
      return cityBeanMapper.insert(cityBean)>0?true:false;
    }else{
      return cityBeanMapper.updateByPrimaryKey(cityBean)>0?true:false;
    }
  }

  public CityBean findById(Short id) {
    return cityBeanMapper.selectByPrimaryKey(i);
  }
}

자동 생 성
my batis 를 사용 할 때 my batis-generator 를 통 해 mapper.xml,인터페이스,model 을 자동 으로 생 성 하 는 경우 가 많 습 니 다.예시 공사 에 관련 설정 이 추가 되 었 으 니 참고 하 시기 바 랍 니 다.



<generatorConfiguration>
  <properties resource="application.properties"/>

  <classPathEntry location="D:\\Java\\maven\\repository\\mysql\\mysql-connector-java\\5.1.39\\mysql-connector-java-5.1.39.jar" />

  <context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">

    <commentGenerator>
      
      <property name="suppressAllComments" value="true" />
    commentGenerator>

    <jdbcConnection driverClass="${spring.datasource.driverClassName}"
      connectionURL="${spring.datasource.url}"
      userId="${spring.datasource.username}"
      password="${spring.datasource.password}">
    jdbcConnection>

    <javaModelGenerator targetPackage="com.itclj.model" targetProject="src/main/java"/>

    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

    <javaClientGenerator targetPackage="com.itclj.dao" targetProject="src/main/java" type="XMLMAPPER"/>

    <table schema="sakila" tableName="city" domainObjectName="CityBean">table>

  context>
generatorConfiguration>

프로젝트 주소:https://github.com/clj198606061111/spring-boot-mybatis-demo 원본 주소:http://www.itclj.com/blog/58c62d9f47508f786718d4f5

좋은 웹페이지 즐겨찾기