一、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
- 测试