Java领域,针对数据的操作最原始的是JDBC,但因JDBC每次都需要连接和释放资源;后来有提供的、、、 Plus等等;这以后给软件开发人员减轻了很大的工作量和重复工作。

相对,其它几种都是ORM的实现,进行一定配置后、就可以用面向对象的方式实现数据库的增删改查,让不会SQL的人员都会使用(不会sql还能做java web开发吗?)。

数据库只是个数据仓库,特别是现在互联网的数据,很多表的数据越来越大,而且可能关联查询多张表很正常,又可能业务表的关联在初期也在变化,ORM在关联查询时,需要掌握和处理的技术点比较多,弄不好对性能造成比较大的影响;出现问题时需要DBA参与时,可DBA可能不会ORM,DBA对原生的SQL了然于心,导致有点被动;如果使用来进行操作,一些性能问题,DBA参与时更加容易;

在项目中只使用,确实依赖很少,数据源配置也很方便,特别是现在系统经常可能面对多个数据库进行操作,特别主备分离时,至少需要访问2个数据库;只需配置2个数据源、对应2个就可以;相对其它ORM,配置起来还是简单多了。

基于目前的实际情况,对ORM和的一点总结

1、 框架自带的,现在还有谁不用,基本属于0依赖,如果使用 Boot ,拿来就用

2、增删改查,全部都有,但基本都是面向sql的,特别是增加和修改,没有面向对象的方法不方便,不过实际项目中,使用jdbc时都要进行简单封装

3、零配置、根据不同类型数据库写sql,可能在改变数据库时,个别语句需要调整(很少有几个需要换数据库,退一步来说,数据库的sql都是标准,个别特殊函数、过程才有区别)

ORM

1、 框架已经进行集成,配置起来也很方便、不过需要对每种ORM进行学习

2、相对对原生的SQL操作起来更灵活点

3、面对多数据源访问需要,需要进行一定的配置,每个ORM配置都不样

4、基本针对每个实体对象,都要进行DAO接口定义,和自定义Sql配置()

5、另外,现在 都自带JPA,这也是ORM,也是面向对象访问的,需要对每个实体进行DAO接口定义

实际在项目中,个人经常使用JPA和结合使用;JPA做增加、修改、删除、以及单表的查询(每个实体对应一张表,不进行什么一对多,多对多的关联,总感觉有点麻烦和性能风险);关联查询一定要用,结合原生SQL写起来特别顺手,所见即所得。当然在使用还是进行了一些封装;如:分页、动态查询等。

本人是在前段时间看到出了个Plus(没有用过,关注少),突然有了想法,是否也来个Plus,把我在实践中封装的整理下,给大家参考。

的目标是完全依赖,只需对每张表进行一个POJO配置即可,对外通过暴露方法,目前主要针对Mysql进行测试

Maven配置:

com.kukababy
jdbc-plus
0.0.6

版本地址:

Boot注解配置

@Bean
public JdbcPlus jdbcPlus(JdbcTemplate jt) {
JdbcPlus jdbcPlus = new JdbcPlus();
PlusParam plusParam = new PlusParam();
plusParam.setJdbcTemplate(jt);
jdbcPlus.setPlusParam(plusParam);
return jdbcPlus;
}

Xml配置

 


 

PO映射表配置

@Table(name="tbl_employee")
public class EmpPO extends PlusPO{
@Id
private int id;
@Column(name="name")
private String name;
...get/set
}

使用Demo

EmpPO emp= jdbcPlus.get(EmpPO .class, 1);

接口列表

void ( );

int (List

);

int (Class

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!