Leopard

1.声明

(1).手写框架不是单纯为了写框架,而是为了更好的理解,学习框架的使用及其原理。

(2).该项目只是实现了相应的功能,并没有去做相应的代码优化,毕竟水平太有限,时间也仅用 14 天完成,后续会陆续优化修改。

(3).该项目仅采用简单工厂,单列设计模式。(这方面有待去学习)

(4).该项目主要是基于注解,面向接口。

(5).配置文件的 dtd 是放于个人服务器,方便维护修改。(然而服务器并没有备案,dtd 也是超级简单,也是这学期刚学的 xml 设计运用上来了)

(6)该项目目前仅支持 mysql 数据库

2.快速上手

2.1Eclipse 下开发

1.没有安装 eclipse,下次再补上。

2.2IDEA 下开发

因为我们这个 leopard 是 jdbc 持久化层框架,下面我们创建一个简单的 web 项目来进行演示。

1.创建 web 项目,结构图如下(怎么创建就不演示了)

2.在 lib 文件夹中导入我们 leopard 的 jar 包和数据库连接驱动包。

(c3p0 连接池用到再导入)

3.至此,我们就可以开始我们的项目了,把我们的 entity 对象类注解给配置上

2.3Maven 开发(暂不支持)

3.配置文件详解

3.1配置文件

1.在我们的项目根路径下创建我们的配置文件(注:是我们的 java 文件根目录 ./src/)

3.2配置项

1.配置数据源,指定 id 为 dataSource 不能更改,要配置数据库的信息,propety 属性的 name 值固定为上图所示,就是 DBPlugin 的属性名。

2.bean 标签你也可以配置自定 bean 类,propety 属性的 name 的值就是 bean 的属性变量名, value 就是你要赋予的 bean 的属性变量的值。

3.entity-package 标签的 value 值配置你的实体类所在的包。

4.逆向工程

4.1逆向工程配置

1.逆向工程配置和上面配置基本一致

2.数据源和上面一致,generator 里 target 标签的 package 配置你的工程生成的目标包,

Project 属性配置你的工程目录所在位置。

4.2工程生成

1.生成逆向工程这里需要引入文件的 io 包(commons-io-2.5.jar),具体如下:

2.生成的 javabean 信息如下图(注:暂不会识别外键):

(数据库表信息):

5.封装的方法

5.1Insert 方法

数据库的记录

5.2Delete方法

5.3Update方法

5.4Query方法

测试结果:

6.分页查询详解

6.1分页信息类 pageInfo 介绍

6.2分页方法使用

测试结果:

7.多表连接(外键关联)

7.1javabean 规则

7.2用法

1.其他操作都一样,查询操作时对外键的赋值是只赋其主键的值。

2.分页查询用法

测试结果

查出的结果是按照 user 的 id 索引,应为我们的 user id 是设置自增的,被标识为索引条件。

8.扩展

类:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180422G1D4DQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券