orm框架适合什么项目
jdbc都有什么设计模式?
jdbc都有什么设计模式?
数据访问一般有下面几种方式1)spring jdbc:不推荐,通过jdbctemplate实现了一个低级别的数据访问,通俗的说sql你需要自己写,取得结果需要手动映射到vo2)JPA:jpa是ejb规范的一部分,非常简单编程模型,jpa的框架和接口没有太多的规则和设计模式要求,很容易掌握,比较对但表的增删改查处理都已经封装好了,不用自己去写sql处理和检索结果的映射处理,能很大程序提高效率,缩短开发实践3)ibatis:相对jpa,需要在配置文件中自己去写sql,是比较成熟orm框架,相对与jpa学习成本会低些4)其他在这里就不展开了主要还是要根据你的业务需求去选型,比如表的关联复杂查询比较多,这个时候建议考虑用ibatis比如如果都是对单一表的增删改查处理,选jpa可能会更合适。
java持久层框架有哪些?
java持久层框架,网上随便搜了搜,就有Hibernate、MyBatis、Spring Data、TopLink等,而我最常用的就是MyBatis,Hibernate也使用过一段时间,很意外没有搜到 iBatis ,因为我们部分维护应用的持久层框架还处于 iBatis 的情况。当然,由于安全因素,直接拼 SQL 的使用最原始的 JdbcTemplate 的应用是没有的。持久层框架,也称 ORM 框架,对象关系映射(ORM,Object Relational Mapping)是一种功能,用于通过将对象状态映射到数据库列来开发和维护对象和关系数据库之间的关系。它能够轻松处理(或执行)各种数据库操作,如插入,更新,删除等。
最常用的就是 Mybatis ,MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。在 spring boot gradle 的技术体系下使用 Mybatis 的的依赖示例如下:
dependencies {
compile
compile mysql:mysql-connector-java:5.1.43
}
# yml 配置文件,
server:
spring:
#数据库连接配置
datasource:
type:
driver-class-name:
url: jdbc:mysql://localhost:3306/test?characterEncodingutf-8ampuseSSLfalse
username: root
password: 123456
filters: stat
connectionProperties:
#mybatis的相关配置
mybatis:
#mapper配置文件
type-aliases-package:
mapper-locations: classpath*:/mappings/*.xml,classpath*:/mappings/**/*.xml
#开启驼峰命名
configuration:
map-underscore-to-camel-case: true
用过一段时间依赖 Hibernate 的 Spring Data JPA,对其影响最深的是 对象间的关联关系,各种联合主键和外键注解,对使用者解决相关问题的能力有一定的要求,其大致有3种使用方法。
1.查询创建Query Creation。Spring Data Jpa通过解析方法名创建查询,框架在进行方法名解析时,会先把方法名多余的前缀find…By, read…By, query…By, count…By以及get…By截取掉,然后对剩下部分进行解析,第一个By会被用作分隔符来指示实际查询条件的开始。 如:
User findByUsername(String username)
ListltUsergt findByUsernameIgnoreCase(String username)
ListltUsergt findByUsernameLike(String username)
该方法上还支持原生查询Native Queries
@Query(value select * from tb_user u where ?1