通常我们在开发Java企业级应用的时候使用的技术大部分是Spring、Hibernate、mybatis、Struts2等。尤其是Spring,相信这个庞大而优雅的技术体系你已经离不开了,在我们项目代码中基本是骨干力量的存在。
而我们使用的ORM框架大多数也是Hibernate、mybatis或者Spring提供的jdbc简单封装的JdbcTemplate.如果我们的项目组开发人员对所选型的ORM框架很熟悉并能熟练使用是再好不过了,但是大部分情况下项目组成员的技术水平是参差不齐的,有时会踩到所选型ORM框架的坑。比如Hibernate很容易引起性能问题,mybatis在重构时很麻烦等等增加了项目的交付风险。
本文希望能在Dao层的开发上做的简单,健壮,提高开发效率:
1 对JdbcTemplate做一层简单的封装,能够对单表的CRUD做到无需写SQL语句
2 在重构SQL代码时对SQL层做少量修改或者不修改
我们先考虑一下:如果做到CRUD的不需要写SQL,这也意味着SQL是要自动生成的。
我们先看SQL语句的组成:
1 添加语句: insert into tableName (id, name, …) values (1, 'name', …);
2 修改语句:update tableName set name = 'name', age = 'age' where id = 'id';
3 删除语句:delete from tableName where id = 'id';
4 查询语句:select id, name from tableName where age > 18;
一般我们做JAVA企业级开发都会有领域模型的概念,这个领域模型会对应一个数据库表并包括这个数据库表的所有字段。那么这时我们可以利用领域模型的字段生成对应的SQL语句。这里我们先借用JPA的注解完成领域模型属性与数据库表的映射,熟悉hibernate的朋友一定不会陌生,当然你也可以自己定义注解。
更多山东IT培训相关资讯,请扫描下方二维码