一、Spring Boot JPA
- 資料庫:
- MySQL:支援注解實作id自增長
- Oracle:需要配置序列
- pom依賴:jpa、ojdbc(或mysql驅動)
- 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
- 實體類
@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; }
- dao接口:public interface PersonDao extends JpaRepository<Person, Integer> {}
- PersonService
- PersonController
- 測試
二、MyBatis:注解
- pom依賴:mybatis、ojdbc(或mysql驅動)
- 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
- 實體類
public class Person { private long id; private String name; private int age; }
- dao接口:
@Component @Mapper public interface PersonDao{ @Select("select * from \"PERSON\"") List<User> query(); }
- PersonService
- PersonController
- 啟動類:@MapperScan(“dao接口所在包,如com.*.PersonDao”)
- 測試
三、MyBatis:xml配置檔案
- pom依賴:mybatis、ojdbc(或mysql驅動)
- 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的位置以及實體類的位置

3. 實體類
4. dao接口
@Component
@Mapper
public interface PersonDao{
List<User> query();
//方法名同mapper.xml中的sql語句的id
}
- 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>
- PersonService
- PersonController
- 測試