springboot中模仿hibernate实现对象操作

1.springboot环境搭建:

新建maven工程(java)

引入maven依赖:


springboot中模仿hibernate实现对象操作_第1张图片
springboot中模仿hibernate实现对象操作_第2张图片

2.编写主方法类:

@EnableAutoConfiguration

@ComponentScan

public class Myapp {

public static void main(String[] args) { SpringApplication.run(Myapp.class,args); }}

其中@EnableAutoConfiguration和 @ComponentScan可以用 @SpringbootApplication替代

3.思路分析

1)首先需要建立表对应实体对象的映射关系,像hibernate的hbm文件 又比如是mybatis的resultmap这边选择用注解来实现;

2)有了对象和表的对应关系,还需要几个工具类来实现动态生成sql,根据常用业务编辑基础类

3)这边需要依赖mybatis来实现数据库操作,这边sql使用注解的形式,但是有个问题就是 注解写sql的mapper不能直接通过注解来注册bean;需要动态去注册bean(emmm....不管实不实用,仅仅是个demo.这边也可以用jdbc实现)

4.编写bean,以及bean上的注解;


springboot中模仿hibernate实现对象操作_第3张图片
demo对象
springboot中模仿hibernate实现对象操作_第4张图片
属性对应字段注解
springboot中模仿hibernate实现对象操作_第5张图片
主键注解
springboot中模仿hibernate实现对象操作_第6张图片
外键注解
springboot中模仿hibernate实现对象操作_第7张图片
表名注解

这样就可以把对象和数据库表映射起来了,接下来写个工具类获取注解信息拼接sql

5.拼接sql

定义全局变量

springboot中模仿hibernate实现对象操作_第8张图片

以及几个基础方法

springboot中模仿hibernate实现对象操作_第9张图片
springboot中模仿hibernate实现对象操作_第10张图片
springboot中模仿hibernate实现对象操作_第11张图片

接下来就可以生成sql了 :

 比如查询全表的sql

springboot中模仿hibernate实现对象操作_第12张图片

比如更新某个对象:


springboot中模仿hibernate实现对象操作_第13张图片

这边还可以根据自己需要生成分页等sql啊,根据对象查询,根据map查询等操作

6.basemapper类以及baseservice类的实现


springboot中模仿hibernate实现对象操作_第14张图片
basemapper


springboot中模仿hibernate实现对象操作_第15张图片
baseservice
springboot中模仿hibernate实现对象操作_第16张图片
baseserviceimpl

这样大概的结构已经开发完毕了,接下来用实际的对象来实现继承这几个类

7.mapper动态注入(mybatis3.4已经实现了@Mapper)


springboot中模仿hibernate实现对象操作_第17张图片
springboot中模仿hibernate实现对象操作_第18张图片
springboot中模仿hibernate实现对象操作_第19张图片

你可能感兴趣的:(springboot中模仿hibernate实现对象操作)