天天看點

Spring Boot內建Spring Boot JPA、MyBatis(注解、配置檔案)

一、Spring Boot JPA

  1. 資料庫:
    1. MySQL:支援注解實作id自增長
    2. Oracle:需要配置序列
  2. pom依賴:jpa、ojdbc(或mysql驅動)
  3. application.properties
    # 無表時,建立
    spring.jpa.properties.hibernate.hbm2ddl.auto=update
    spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL
    spring.datasource.username=hzk
    spring.datasource.password=---
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
               
  4. 實體類
    @Entity
    @Table(name = "person")
    public class Person {
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "autoAdd")
        @SequenceGenerator(name = "autoAdd", sequenceName = "autoAdd", allocationSize = 1)
        @Column(name = "id")
        private long id;
        @Column(name = "name")
        private String name;
        @Column(name = "age")
        private int age;
    }
               
  5. dao接口:public interface PersonDao extends JpaRepository<Person, Integer> {}
  6. PersonService
  7. PersonController
  8. 測試

二、MyBatis:注解

  1. pom依賴:mybatis、ojdbc(或mysql驅動)
  2. application.properties
    spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL
    spring.datasource.username=hzk
    spring.datasource.password=---
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
               
  3. 實體類
    public class Person {
        private long id;
        private String name;
        private int age;
    }
               
  4. dao接口:
    @Component
    @Mapper
    public interface PersonDao{
        @Select("select * from \"PERSON\"")
        List<User> query();
    }
               
  5. PersonService
  6. PersonController
  7. 啟動類:@MapperScan(“dao接口所在包,如com.*.PersonDao”)
  8. 測試

三、MyBatis:xml配置檔案

  1. pom依賴:mybatis、ojdbc(或mysql驅動)
  2. application.properties
    spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL
    spring.datasource.username=hzk
    spring.datasource.password=---
    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
    
    #餘下配置見下圖,mapper.xml的位置以及實體類的位置
               
Spring Boot內建Spring Boot JPA、MyBatis(注解、配置檔案)

3. 實體類

4. dao接口

@Component
@Mapper
public interface PersonDao{
    List<User> query();
    //方法名同mapper.xml中的sql語句的id
}
           
  1. mapper.xml配置
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.hzk.mybatiswithxml.dao.UserDao">
        <select id="query" resultType="Person">
            select * from "PERSON"
        </select>
    </mapper>
               
  2. PersonService
  3. PersonController
  4. 測試

繼續閱讀