一、添加MySQLjar包依赖

二、结构

三、文件内容

(一)、bean包

1、ColumnInfo.java

2、javaFiledInfo.java

3、TableInfo.java

4、Configration.java    用于映射properities配置文件的属性

(二)、配置文件

1、properties配置文件

(三)、util包

1、

2、

3、

4、运用反射机制getClass获得当前的传入来的类的Class对象,因为每个被编译好的java 文件都是一个Class的实例,所以自然可以通过获取Class对象反过来获得该类信息。Class的实例的getMethod方法可以获得该类对外公开的方法第一个参数为该类里面公开的方法名第二个参数为该方法的形参。最后返回Method实例的invoke方法,第一个参数是入参的那个类,第二个参数是刚刚找到的那个公开方法的入参实际上就是执行了刚才获取到的那个方法然后返回那个方法的返回值。

5、

6、

(四)、core包

1、

2、

3、

4、

5、

6、

下面的DatabaseMetaData类是Connection对象的一个属性可用来查数据库的一些整体信息如版本号,url等等,可称为元数据,通过获取这些信息可以获取到表名字段名等,为生成实体类做准备。

下面第70行就是利用传进来的某个类型获得的字段名,其实就是一个实体类里某个字段的get方法里的某个字段对应的入参,然后通过反射调用该字段get方法获取值,值不为空就追加到集合中去。

最后首先生成实体类然后可以执行crud,这里就执行一个增加方法。

基于springJDBC手写ORM框架的更多相关文章

  1. 重学 Java 设计模式:实战中介者模式「按照Mybaits原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

    作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 同龄人的差距是从什么时候拉开的 同样的幼儿园.同样的小学.一样 ...

  2. 基于netty手写RPC框架

    代码目录结构 rpc-common存放公共类 rpc-interface为rpc调用方需要调用的接口 rpc-register提供服务的注册与发现 rpc-client为rpc调用方底层实现 rpc- ...

  3. 深入理解Mybatis(第一讲)——手写ORM框架(简易版Mybatis)

    我们来自定义一个持久层框架,也就是Mybatis的简易版. 使用端的搭建 idea中新建maven工程IPersistence_test: 在resources目录下新建sqlMapConfig.xm ...

  4. 分享自己写的基于Dapper的轻量级ORM框架~

    1.说明 本项目是一个使用.NET Standard 2.0开发的,基于 Dapper 的轻量级 ORM 框架,包含基本的CRUD以及根据表达式进行一些操作的方法,目前只针对单表,不包含多表连接操作. ...

  5. 要想精通Mybatis?从手写Mybatis框架开始吧!

    1.Mybatis组成 动态SQL Config配置 Mapper配置 2.核心源码分析 Configuration源码解析 SqlSessionFactory源码解析 SqlSession源码解析 ...

  6. 手写 jQuery 框架

    1.测试页面; <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  7. 手写DAO框架(二)-开发前的最后准备

    -------前篇:手写DAO框架(一)-从“1”开始 --------- 前言:前篇主要介绍了写此框架的动机,把主要功能点大致介绍了一下.此篇文章主要介绍开发前最后的一些准备.主要包括一些基础知识点 ...

  8. 手写DAO框架(一)-从“1”开始

    背景: 很久(4年)之前写了一个DAO框架-zxdata(https://github.com/shuimutong/zxdata),这是我写的第一个框架.因为没有使用文档,我现在如果要用的话,得从头 ...

  9. 手写RPC框架指北另送贴心注释代码一套

    Angular8正式发布了,Java13再过几个月也要发布了,技术迭代这么快,框架的复杂度越来越大,但是原理是基本不变的.所以沉下心看清代码本质很重要,这次给大家带来的是手写RPC框架. 完整代码以及 ...

随机推荐

  1. html5文件夹上传源码

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  2. luogu P1382 楼房

    二次联通门 : luogu P1382 楼房 /* luogu P1382 楼房 线段树 + 扫描线 + 离散化 正解貌似是堆... MMP...二段式线段树各种错误... 离散化一下横坐标 扫描线扫 ...

  3. 搭建自己的博客(十三):为博客后台添加ckeditor富文本编辑器

    使用django默认的编辑器感觉功能太少了,所以集成一下富文本编辑器. 1.安装和使用 (1).安装 pip install django-ckeditor (2).注册应用 在django的sett ...

  4. 爬虫(十一):scrapy中的选择器

    Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpath或者CSS表达式来选择HTML文件的某个部分Xpath是专门在XML文件中选择节点的语言,也可以用在HTM ...

  5. spring boot aop 切库实现读写分离

    项目结构: 主要代码 : 配置数据库 配置datasource 线程隔离: 已上传git gitee地址:https://gitee.com/xxoo0_297/springboot-aop.git

  6. 激活 phpstorm2019.1 win10

    首先添加以下内容到c:\windows\system32\drivers\etc\hosts 文件 0.0.0.0 account.jetbrains.com 0.0.0.0 www.jetbrain ...

  7. elasticsearch配置jdk

    编辑bin/elasticsearch 可以看到elasticsearch使用环境变量JAVA_HOME中配置的jdk:if [ -x "$JAVA_HOME/bin/java" ...

  8. sqlserver 触发器实例

    实例1:update USE [数据库名称]GO/****** Object: Trigger [dbo].[触发器名称] Script Date: 05/08/2014 12:40:25 ***** ...

  9. 原创 linux 爬虫拨号服务器完整设置

    [root@cloud ~]# cat /home/bh.sh #!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/sbin/ifconfig /usr/s ...

  10. mongo 导入import 导出 exprot操作

    .mongo export导出 /mongoexport /h [ip地址] /port [端口] /u [用户名] /p [密码] /d [数据库] -c [表名] /q [查询语句]  /o [保 ...