之前我发表过两篇文章,与有今天发表的东西是有关联的,因为我今天发表的东西也是从之前那个方向发展过来的。虽然现在已经没有原来的模样了,但希望有兴趣的朋友能一起学习,并给点建议。
在JDK 1.5中实现真正面向对象形式的SQL语句 1
在JDK 1.5中实现真正面向对象形式的SQL语句 2(含有源码,代码生成工具)
接下来讲一下今天主要内容。
在我的开发经验告诉我,我们在一个系统开发过程中,使用最多的SQL语句,主要就是CURD的东
西,所以我们针对每张表,我们需要写的SQL语句也是比较固定的。当然我今天发表的这个东西并不是非常完美的,通过工具生成的代码大部分是可以直接使用
的,但有些地方还是要根据实际业务,做些简单的调整(即使是hibernate生成的配置文件,我们也要花大量的时间去维护它)。
接下来说一下设计思想:
1、使用enum 映射数据库表结构。比如:
-
- public
static
enum TBL_ACTION{//enum 名称,就是数据库中的表名或者视图名
- ACTION_ID,//数据库字段名
- MODULE_ID,
- ACTION_NAME,
- ACTION_REMARK;
- }
通过它我们就很容易维护SQL语句了。如果以后表名,或字段名做了更改,我们就很容易找到我们代码中,哪些地方用到了这个表,维护起来非常的方便。而且我们手写SQL语句时,在IDE下会自动提示,这样可以减少我们书写错误。
2、缓存 CURD SQL语句:
-
- public
static
enum TBL_ACTION{
- ACTION_ID,
- MODULE_ID,
- ACTION_NAME,
- ACTION_REMARK;
- private
static
final
String
tempStr=MODULE_ID+","
+ACTION_NAME+","
+ACTION_REMARK.toString();
- public
static
final
String
selectSql="SELECT "
+ACTION_ID+","
+tempStr+" FROM "
+TBL_ACTION.class
.getSimpleName()+" "
;
- public
static
final
String
insertMySql="INSERT INTO "
+TBL_ACTION.class
.getSimpleName()+" ("
+tempStr+") VALUES (?,?,?);SELECT LAST_INSERT_ID();"
;
- public
static
final
String
insertOracle="INSERT INTO "
+TBL_ACTION.class
.getSimpleName()+" ("
+ACTION_ID+","
+tempStr+") VALUES (?,?,?,?)"
;
- public
static
final
String
deleteSql="DELETE FROM "
+TBL_ACTION.class
.getSimpleName()+" WHERE "
+ACTION_ID;
- public
static
final
String
updateSql="UPDATE "
+TBL_ACTION.class
.getSimpleName()+" SET "
+tempStr.replaceAll(","
, "=?,"
)+"=? WHERE "
+ACTION_ID+"=?"
;
- }
3、
PreparedStatement.setObject(int index,Object obj);和
CallableStatement..setObject(int index,Object obj);为我们提供了很大的方便。在生成代码的DAO
中我们会看到大量的:
-
- parms=new
Object
[]{
- ......
- };
- res =this
.update(session, sql, parms);
4、使用泛型抽取DAO:com.commons.dao.AbstractBaseDao<O>
5、实现分页查询:
-
- /**
-
* 分页查询
-
* @param session
-
* @param sql
-
* @param minIndex
-
* @param maxIndex
-
* @param parms
-
* @return
-
*/
- public
PageInfo<O> listOnPages(DbSession session,String
sql,Object
[] parms,int
minIndex,int
maxIndex)
6、现在只实现了对MySQL和Oracle之前的互相移植。因为本人比较喜欢这两个数据库。我会把源码上传上来,大家可以改源码,增加自己的想法进去。
应用此工具的过程
一、生成代码
1、配置数据库连接
在conf/proxool.properties配置数据库连接信息
2、执行代码生成工具
运行com.tools.codeengle.CodeEngle 或com.tools.codeengle.CodeUI
二、Spring 配置
请参照spring-context.xml和businessConext.xml
三、数据库访问,具体使用方法,请参照源码中的例子。
数据库访问主要用到以下两个类:
com.commons.dao.DbSession;
com.commons.database.SqlExecutor;
- 大小: 153.8 KB
- 大小: 201.1 KB
- 大小: 401.7 KB
分享到:
相关推荐
NULL 博文链接:https://qiujiayu.iteye.com/blog/462473
【资源说明】 毕设新项目-基于pringboot实现的旅游网站源码+sql数据库+...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
idea,jdk8,mysql5.7,maven 前后端技术 前端技术:Vue 后端技术:SpringBoot,MyBatis Plus、MySQL 本系统两种角色 管理员、用户(前台和后台) 主要功能 管理员模块:个人中心、基础数据管理、公告信息管理、航班...
本系统运用J2EE中的JSP MODEL2的MVC (MODEL+VIEW+CONTROL)模型,运用Eclipse3.1.8 + Tomcat5.0 + JDK5.0 + MSSQL 的组合开发平台开发测试。B/S架构,在系统设计、实施上运用软件工程的思想,完全依照瀑布模型来...
1、jdk版本1.5以上; 2、本样例分3部分: 1)与spring结合,创建crontrigger、simpletrigger 2)java代码实现quartz;... 2)请初始化数据库,数据库sql语句在quartz-all-1.6.4.zip的doc\datatable目录下。
sql语句微服务的车联网位置-微服务的车联网位置系统-微服务的车联网位置系统源码-微服务的车联网位置管理系统-微服务的车联网位置管理系统java代码-微服务的车联网位置系统设计与实现-基于springboot的微服务的车...
3.修改源码中biyesheji\src\main\resources\jdbc.properties数据库配置文件,修改1-3行,配置为本机数据库地址 4.将项目放入tomcat容器中,并启动项目 5.浏览器访问地址 前台访问路径:...
第3步:执行SQL语句,Navicat打开medical_care.sql文件,运行该文件中的SQL语句 第4步:源码文件为medical_care.zip,修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码 第5步:运行命令:python...
第3步:执行SQL语句,Navicat打开medical_qa.sql文件,运行该文件中的SQL语句 第4步:源码文件为medical_qa.zip,修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码 第5步:运行命令:python ...
sql语句高校食堂移动预约点餐系统代码 java高校食堂移动预约点餐系统代码 基于springboot的高校食堂移动预约点餐系统代码 1、高校食堂移动预约点餐系统的技术栈、环境、工具、软件: ① 系统环境:Windows/Mac ② ...
源代码包括前端页面(如登录页面、图书列表页面等)、后端业务逻辑(如图书实体类、图书馆实体类等)以及数据库操作(如MyBatis映射文件、SQL语句等)。通过阅读源代码,可以深入了解系统的架构设计和技术选型。部署说明...
1.5 MyEcilpse工具介绍JavaSE环境安装和配置15 1.6 本章练习16 第2章 2.1 什么是程序18 2.2 计算机中的程序18 2.3 Java程序19 2.3.1 Java程序中的类型19 2.3.2 Java程序开发三步曲21 2.3.3 开发Java第一个程序21 ...
第3步:执行SQL语句,Navicat打开medical_care_intention_analysis.sql文件,运行该文件中的SQL语句 第4步:源码文件为medical_care_intention_analysis.zip,修改源代码中的settings.py文件,改成自己的mysql...
JAVA聊天软件的设计与开发...使用Java作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化
网上有对应的源代码,只不过那些源代码都缺少jar包,搜集这些jar包非常痛苦,稍有版本不同最后就直接运行出错,让你看不到那个论坛...数据库名:sampledb.sql,运行此程序前请先创建数据库,相关语句在sampledb.sql中
mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门...
6.9.1 对象在内存中的状态 226 6.9.2 强制垃圾回收 227 6.9.3 finalize方法 228 6.9.4 对象的软、弱和虚引用 230 6.10 修饰符的适用范围 233 6.11 使用JAR文件 234 6.11.1 jar命令详解 235 6.11.2 创建可执行...
技术栈:springboot+mybatisplus+jdk8+mysql5.6 执行此处的SQL语句 将配置文件中的数据库地址和用户名密码修改为自己的 启动项目 java课程设计
2.4.1 在JSP中应用代码片段 2.4.2 使用JSP表达式 2.4.3 声明标识的使用 2.5 注释的魅力 2.5.1 基本的HTML注释 2.5.2 JSP隐藏注释 2.5.3 代码片段中的注释 2.6 常用的JSP动作标识 2.6.1 使用包含动作标识 2.6.2 使用...