天天看点

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. 测试

继续阅读