今天突然要写一个小的系统,因为什么都是新的,说要框架也要重新搭(bs下公司没有基础框架),ibatis自己没有怎么搭过,所以这次直接选择spring jdbc,但是要是喜欢ibatis的代码sql分离,所以自己百度了下发现spring 的jdbc代码分离有人写了,但是需要配置各个xml ,相信spring都是配置加自动的,所以自己,写了一部分,自动扫描map.xml然后加载,现在都是约定大于配置,这样我们约定放置sql的文件名和方式就可以了 下面是代码: 这个是主要的类,单例的
下面这个是扫描类
- package com.copote.util;
-
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
-
- /**
- * 扫描service下面的所有map.xml
- *
- * @author jueyue 2013年8月5日
- */
- public class ScanMapFile {
-
- private List<String> sqls;
-
- public ScanMapFile(){
- sqls = new ArrayList<String>();
- }
-
- public List<String> getsqlMaps(String path){
- GetSql(ScanMapFile.class.getResource(path).getPath());
- return sqls;
- }
-
- /*
- * 递归调用查找指定文件加下所有文件
- */
- private void GetSql(String path) {
- File rootDir = new File(path);
- if (!rootDir.isDirectory()) {
- if(rootDir.getName().equalsIgnoreCase("map.xml")){
- sqls.add(rootDir.getAbsolutePath());
- }
- } else {
- String[] fileList = rootDir.list();
- for (int i = 0; i < fileList.length; i++) {
- path = rootDir.getAbsolutePath() + "\\" + fileList[i];
- GetSql(path);
- }
- }
- }
- }
复制代码
我们扫描的是所有的map.xml这样就加载了所有的sql
- <?xml version="1.0" encoding="UTF-8"?>
- <sqls>
- <sqlElement key="account.login">
- <![CDATA[
- select * from user
- </sqlElement>
- </sqls>
复制代码
然后在我们的dao里面这样写
- @Override
- public AccountEntity login(AccountEntity account) {
- String sql = SQLMap.getInstance().getSql("account.login");//加载sql
- List<AccountEntity> temp = jdbcTemplate.query(sql,
- new Object[] { account.getVAcctCode(), account.getVAcctPwd(),
- account.getCorgId() }, new AccountRowMapper());
- return temp.size() == 1?temp.get(0):null;
- }
复制代码
这样我们就获取了对于的sql,就分离了,而且自动扫描 最后记得在web.xml添加启动监听,进行初始化
jeecg 首发 |
相关推荐
2、sharding-jdbc (1)、实现多种模式的读写分离 (2)、支持事务 (3)、配置中心化 (4)、存储过程不能正常解析 ———————————————— 版权声明:本文为CSDN博主「毛豆有毛没豆」的原创文章,...
Sharding-JDBC完整的实现了分库分表,读写分离和分布式主键功能,并初步实现了柔性事务。从2016年开源至今,在经历了整体架构的数次精炼以及稳定性打磨后,如今它已积累了足够的底蕴,相信可以成为开发者选择技术...
MiniDao 是一款轻量级JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力。Minidao产生的初衷是为了解决Hibernate项目,在复杂SQL具备Mybatis一样的灵活能力,同时支持...
文件类型包括72个Java源代码文件、64个Freemarker模板文件、5个XML配置文件、5个SQL文件、4个Properties配置文件、2个BAT批处理文件、1个GIT属性文件、1个GIT忽略文件和1个LICENSE文件。该框架具备Mybatis一样的SQL...
7、简单的单表查询(比如所有条件是and或者or结构),基本实现0sql代码编写(类似HibernateTemplate selectByExample、findByCriteria、find等方法); 8、简单的单表排序支持,支持多个排序条件组合; 9、...
用JSP+SERVLET实现的简单的数据库增删改查。本方法适用小型项目。SQL语句和代码没有分离。不方便数据库工程师维护项目。不能有效防止SQL注入。
sjdbc-read-write-springboot:Spring Boot版 Sharding JDBC 读写分离示列 sjdbc-db-sharding-springboot:Spring Boot版 Sharding JDBC 垂直拆分(不同的表在不同的库中) sjdbc-db-read-write-sharding-...
通过ShardingSphere的Sharding-jdbc实现MySQL数据库的读写分离简单例子,代码里面有测试数据库的建库sql,主从复制需要用户自己配置
项目名称:轻量级Java持久层框架MiniDAO...MiniDAO致力于简化数据访问层代码,通过FreeMarker模板提供灵活的SQL管理方式,同时继承了Spring JDBC的易用性和高效性,为Java开发者提供了一个简洁、高效的持久层解决方案。
毕业设计,基于SpringBoot+Vue+MySql开发的前后端分离的听书网,小说阅读网,内含Java完整源代码,数据库脚本 AudiobookSystem 听书功能流程图 This content is only supported in a Feishu Docs 小说处理流程顺序...
(3)MyBatis在XML文件中编写SQL语句,和程序逻辑代码分离,降低了耦合度。这样就不会对应用程序或数据库的现有设计有任何影响,便于统一管理和优化,也提高了代码的可重用性。 (4)MyBatis提供了XML元素,支持...
在用过Amoeba 和 Cobar,还有dbware 等读写分离组件后,今天我的一个好朋友跟我讲,MySQL自身的也是可以读写分离的,因为他们提供了一个新的驱动,叫 com.mysql.jdbc.ReplicationDriver 说明文档:...
codetool一个java代码生成工具,支持hibernate,mybatis,jdbc三种数据持久层框架,标准的mvc模式代码该工具按照MVC标准代码结构生成对应的Mapper.xml, Dao接口,Service接口和实现,Controller以及对应的CRUD页面,...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
毕业设计,基于SpringBoot+LayUI+MySql开发的前后端分离的环境监测数据管理系统,内含完整源代码,数据库脚本 本科毕业设计,基于Springboot的可扩展(用户可自主构建数据库表)的数据管理系统,前端基于Layui框架,...
第二步:修改src\main\resources\jdbc.properties中的数据库连接方式 第三步:按照nginx-default.conf的配置修改nginx.conf,并将root路径指定为StaticWeb的文件夹位置 第四步:修改src/main/java/...
本项目是java程序设计本科期末大作业所设计比较完整的账本系统,采用前后端分离的思想来构建。 前端代码在moneyManage文件夹中。 后端代码在FinancialManage文件夹中。 前端采用Swing来搭建页面(因为老师不准用...
这种分离的方式使得 SQL 语句的维护和修改更加方便,同时也提高了代码的可读性。 参数映射:MyBatis 支持将 Java 对象与 SQL 参数进行映射,降低了手动编写参数绑定的工作量。 结果集映射:MyBatis 能够将查询结果...
这种分离的方式使得 SQL 语句的维护和修改更加方便,同时也提高了代码的可读性。 参数映射:MyBatis 支持将 Java 对象与 SQL 参数进行映射,降低了手动编写参数绑定的工作量。 结果集映射:MyBatis 能够将查询结果...
这种分离的方式使得 SQL 语句的维护和修改更加方便,同时也提高了代码的可读性。 参数映射:MyBatis 支持将 Java 对象与 SQL 参数进行映射,降低了手动编写参数绑定的工作量。 结果集映射:MyBatis 能够将查询结果...