Spring框架(十五)SpringBoot框架+SpringBoot数据访问

目录
SpringBoot数据访问
关系型数据库访问
非关系型数据库访问

SpringBoot数据访问
关系型数据库访问

1.连接池DataSource

Oracle、MySQL、DB2等

dbcp2、c3p0、druid、HikariCP、proxool等
    连接池jar包、驱动包
    spring-boot-starter-jdbc引入会默认追加连接池(1.x tomcat-jdbc连接池、2.x hikari连接池)
    在application.properties定义连接参数
    在启动类开启自动配置@SpringBootApplication

DataSourceAutoConfiguration自动配置组件规则:
    默认按创建Hikari,然后tomcat,dbcp2顺序执行

    如果需要创建指定类型连接池,可以采用下面配置

    spring.datasource.type=xxx 

2.Spring DAO(JdbcTemplate)

JdbcTemplateAutoConfiguration自动配置组件创建JdbcTemplate对象,使用时直接注入应用。
    创建连接池对象(参考上述过程)
    根据表定义实体类
    定义Dao接口

    编写Dao实现类,注入JdbcTemplate

    @Repository public class JdbcDeptDao implements DeptDao {      @Autowired     private JdbcTemplate jdbcTemplate;      public List<Dept> findAll() {         String sql = "select deptno,dname name,loc from dept";         RowMapper<Dept> rowMapper =              new BeanPropertyRowMapper<Dept>(Dept.class);         return jdbcTemplate.query(sql, rowMapper);     }  } 

3.Spring+MyBatis(mybatis-spring整合包)

<dependency>     <groupId>org.mybatis.spring.boot</groupId>     <artifactId>mybatis-spring-boot-starter</artifactId>     <version>1.3.2</version> </dependency> 

    创建连接池对象(参考上述过程)
    根据表定义实体类

    定义Mapper接口+SQL定义

    public interface EmpMapper {     @Select("select * from emp")     public List<Emp> findAll(); } 

    在启动类前加@MapperScan标记扫描Mapper接口

    @SpringBootApplication @MapperScan(basePackages={"cn.xdl.mapper"})//扫描指定包接口产生Mapper对象放到Spring容器 public class RunBoot {     //... ... } 

4.Spring+JPA(hibernate)

<dependency>     <groupId>org.mybatis.spring.boot</groupId>     <artifactId>spring-boot-starter-data-jpa</artifactId>     <version>1.3.2</version> </dependency> 

    创建连接池对象(参考上述过程)

    根据表定义实体类,追加与表映射信息

    @Entity @Table(name="xdl_receive_address") public class Address implements Serializable{      @Id     @Column(name="id")     private Integer id;      @Column(name="user_id")     private Integer userId;      @Column(name="receive_name")     private String  receiveName;      @Column(name="province")     private String  province;      @Column(name="address")     private String  address;      //... ... } 

    定义Repository接口,可以选择继承JpaRepository、PagingAndSortingRepository、CrudRepository等父接口

    public interface AddressRepository extends JpaRepository<Address, Integer>{ } 

    获取Spring容器调用

-5.Spring+Hibernate(以后讲)
非关系型数据库访问

Redis、MongoDB

    1.Spring+Redis(RedisTemplate)

    2.Spring+MongoDB(MongoTemplate)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值