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.扩展
类:
领取专属 10元无门槛券
私享最新 技术干货