SpringBoot随计——数据访问

JDBC

①原生的JDBC注意DataSourceInitializer:ApplicationListener,runSchemaScripts()运行建表语句,runDataScripts()运行插入数据的语句,只需要将文件命名为:schema-*.sql、data-*.sql,自定义文件要在配置文件spring.data source.schema指定,每次启动时都会运行sql文件,要注意。
②通过spring.datasource.type切换数据源,整合Druid数据源需要自定义DruidDataSourCe,可以配置管理后台的ServletRegistrationBean和web监控的FilterRegistrationBean

MyBatis

①注解版:
@Mapper:指定为操作数据库的mapper,可以在主类通过@MapperScan批量扫描指定包
@Select(“sql”)
@Options(useGeneratedKeys=true,keyProperty="id")返回主键在@Insert
注意驼峰命名,自定义通过添加ConfigurationCustomizer的Bean,放入mapUnderscoreToCamelCase。
②配置文件:
@MapperScan扫描到容器
写config和sql的xmI,在yml配置mybatis,指定config-location和mapper-location

JPA

①SpringData为我们提供统一的API(Repository接口)来对数据访问层进行操作(CURD,分页),提供数据访问模板类xxxTemplate
②JPA:ORM思想
@Entity:告诉JPA这是一个实体类(和数据表映射的类)
@Table(name="tb_user"):如果省略默认表名就是类名小写
@Id:声明主键
@GeneratedValue:自增
@Column:省略默认列名就是属性名
操作数据:
Dao接口继承JpaRepository<实体,id类型>,在ymI配置jpa:jpa.hibernate.ddl-auto:update更新或创建表结构,jpa.show-sql:true打印sqI
xxxDao.findOne:自带的API

其它

①JDBC是数据库访问的标准,jpa是ORM框架的标准,ORM和Mybatis都是持久层框架
②JPA更靠近面向对象,更关心的是领域建模;Mybatis更拥抱sql,数据库设计,可以逆向生成mapper文件和实体
③JPA对复杂sql编写困难
④JPA和Mybatis可以一起使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值