`
jbeduhai
  • 浏览: 504259 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

java调用sql XML配置文件 笔记

    博客分类:
  • java
阅读更多

java调用sql XML配置文件


在java开发的过程中经常会写到关于调用数据库SQL的语句,可能每一个DAO里都会用到SQL语句,
这样会使你查看代码的时候,有时间要找半天才能找到,如果才能调用一个统一的SQL配置文件呢?
以下代码是我个人在以往的项目用到的关于调用SQL配置文件的使用方法,整理如下:
希望对用到的朋友有所帮肋,

如有不同的用法或者建议,请提出。。。。

/**
 *
 * 调用XML配置文件里的内容,
 */

public class XMLFileUtil{

public static void main(String[] args) throws Exception {
  XMLFileUtil xf = new XMLFileUtil();

  //得到相应目录下的要调用的 关于配置sql的 xml文件(存放在开发过程中所用到的sql语句)
  File f = new File("E:\\workspace\\hibernate\\src\\spirng\\sql\\xml\\test\\XMLFileUtil\\manager1.xml");
  //System.out.println(f.getPath());
  
  SAXReader reader = new SAXReader();
  //Document xmlDomContent = reader.read(f);
  Document xmlDomContent = xf.LoadXmlFile(f.getPath()); //加载xml文件
  //System.out.println(">>>>>>>doc="+xmlDomContent);

  

//只要调用SQL配置文件里的id ="userQuery"
  Element hqlElement = XMLFileUtil.findElement(xmlDomContent
    .getRootElement(), "HQL", "id", "userQuery");
  if (hqlElement != null) { // 取得Element中的implementation属性对象...
   Element sqlQuery = hqlElement
     .element("sql");
   if (sqlQuery != null) { // 取这个属性的值...
    String sqlstr = sqlQuery.getText();
    //System.out.println(">>>>>>>sqlstr="+sqlstr);
   }
  }
  
  String sql = xf.getBeanSql("studentQuery");
  System.out.println(">>>>>>>sql="+sql);
  
  System.out.println(">>>>>>>sql="+xf.getClass().getResource(""));
 }

 }

 

 

//加载Sql xml 配置文件
public static Document LoadXmlFile(String filePath) {

  SAXReader reader = new SAXReader();
  // try to load xml data into Document object
  Document doc = null;
  try {
   String urlString = null;
   if (filePath.startsWith("\\")) {
    urlString = "file:\\" + filePath;
    System.out.println(urlString);
   } else {
    urlString = "file:\\" + filePath;
    System.out.println(urlString);
   }
   logger.debug("XML File's URL :" + urlString);
   doc = reader.read(new URL(urlString));
  } catch (Exception ex) {
   logger.info("Can not load " + filePath);
   logger.debug(ex.getMessage(), ex);
  }
  // return Document object
  return doc;
 }


//查找XML元素 findElement
public static Element findElement(Element searchedElement,
   String targetNodePrefix, String targetNodeAttributeName,
   String targetNodeAttributeValue) {
  Element elementTarget = null;
  for (Iterator i = searchedElement.elementIterator(targetNodePrefix); i
    .hasNext();) {
   Element element = (Element) i.next();
   String strManagerName = XMLFileUtil.getAttributeValue(element,
     targetNodeAttributeName);
   if (strManagerName.equals(targetNodeAttributeValue)) {
    elementTarget = element;
    break;
   }
  }
  return elementTarget;
 }


manager1.xml 文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<managers>
 <HQL id="userQuery">
  <sql>from User u where u.name =:user</sql>
 </HQL>
 <HQL id="studentQuery">
  <sql>from Student s where s.name =:user and s.id =:id</sql>
 </HQL>
</managers>

1
0
分享到:
评论
1 楼 BigCat2013 2014-03-04  
XMLFileUtil.getAttributeValue() 这个方法我这边提示木有。。。。难道是jar问题?  

相关推荐

    达内corejava+Oracle+JDBC+XML笔记

    至于XML笔记,可能会讲解XML文档的结构、DTD和Schema验证、XPath表达式以及Java如何使用DOM、SAX或StAX解析XML文件。 通过深入学习这些笔记,你可以全面理解Java开发的基础,并掌握与数据库交互的关键技术,以及...

    MyBatis学习笔记(一):MyBatis configuration和mapper xml配置总结

    本笔记将详细解析MyBatis的configuration配置文件和Mapper XML配置,帮助你深入掌握这两个核心组件。 首先,我们来看MyBatis的`configuration`配置文件。这个XML文件是MyBatis系统的核心,包含了MyBatis运行所需的...

    韩顺平编写的java学习笔记(全)

    2. **编译源文件**:使用Java编译器(`javac`)将`.java`文件编译成`.class`文件。 3. **运行程序**:通过Java虚拟机(`java.exe`)执行编译后的`.class`文件。 #### 注释 - **单行注释**:使用`//`标记。 - **多行...

    Java的SSM框架最强整合的笔记

    MyBatis的Mapper接口和XML配置是用于实现数据库操作的映射,通过定义接口和XML文件中的SQL语句实现数据的CRUD操作。 3. Spring的IoC容器和AOP机制 IoC容器负责管理对象的创建和依赖关系的维护。AOP机制允许开发者将...

    java 代码实现kindle电子书笔记整理

    Java提供`javax.xml.parsers`包,可以使用`DocumentBuilderFactory`和`DocumentBuilder`来解析XML文档,提取笔记内容。然后,这些内容可以被结构化并显示在程序界面上。 5. **用户界面(UI)设计**: `ClipFrame....

    SSM笔记-Mybatis基本使用

    3. 映射文件配置:在mybatis-config.xml中引入Mapper的XML文件。 4. SqlSessionFactory配置:设置数据源、配置文件等信息,生成SqlSessionFactory实例。 5. Mapper接口配置:在Spring配置文件中声明Mapper接口,并...

    note笔记java demo

    【标题】"note笔记java demo"揭示了这是一个关于Java编程的实践示例,特别是针对SSM(Spring、SpringMVC、MyBatis)框架的使用。SSM是Java Web开发中常用的三大组件,用于构建基于Model-View-Controller(MVC)设计...

    java框架核心技术笔记

    3. MyBatis:MyBatis是一个简单的ORM框架,它允许开发者将SQL语句写在XML配置文件或Java注解中,与Java对象进行绑定。MyBatis的优势在于灵活的SQL编写能力,可以实现更复杂的查询和更新操作,同时保持代码的整洁。 ...

    java笔记集合

    笔记将讲解Servlet生命周期、doGet和doPost方法、请求和响应对象的使用,以及如何配置web.xml文件。 9. **JSP**:Java Server Pages是动态网页技术,与Servlet结合使用。笔记会介绍JSP语法、指令、脚本元素、EL...

    java常用框架学习笔记

    - **dialect方言的配置**:此配置项用于指定所使用的数据库类型,不同的数据库系统有不同的SQL语法,因此必须正确配置dialect来确保Hibernate生成正确的SQL语句。 - **show_sql的配置**:通过设置`show_sql`为`...

    韩顺平java笔记完整版.zip(无笔记,只是代码)

    【标题】"韩顺平java笔记完整版.zip(无笔记,只是代码)"指的是一个包含韩顺平老师Java教学视频中所有代码的压缩文件。这个压缩包不包含笔记,而是专注于提供实际的编程示例,使得学习者可以直接查看和学习Java编程...

    java开发笔记.doc

    Struts 1.X有配置文件struts-config.xml用于定义动作映射,但相比Struts 2,其配置较为复杂。 5. **JavaScript**:JavaScript是一种轻量级的脚本语言,主要用于客户端Web开发,实现页面交互效果。它可以操作DOM...

    MLDN——Java Web 开发实战经典源码笔记(基础篇)|

    2. **Servlet**:详述Servlet的生命周期、服务方法、请求和响应对象,以及Servlet配置和部署描述符web.xml的使用。 3. **JSP**:讲解JSP的脚本元素(脚本let、声明、表达式)、指令(page、include、taglib),以及...

    狂神说java MyBatis 笔记

    MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。 一、MyBatis 概述 MyBatis 是由 Apache Software Foundation ...

    《MyBatis 基础笔记》源代码

    本笔记源代码涵盖了MyBatis的基本使用、配置、映射器接口、XML配置文件、注解方式的映射以及动态SQL等内容。 1. **MyBatis 概述**: MyBatis 是一个轻量级的持久层框架,它避免了几乎所有的JDBC代码和手动设置参数...

    达内Java项目云笔记12天完整源码cloudnote_day12_all.zip

    4. **MyBatis**:作为持久层框架,MyBatis使得数据库操作更为简单,通过XML或注解进行SQL映射,将SQL语句与Java代码分离,提供灵活的数据访问控制。 5. **MySQL数据库**:项目中可能使用MySQL作为关系型数据库,...

    mybatis笔记一对应代码

    MyBatis是一款优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,实现了SQL与Java代码的分离,提高了开发效率和可维护性。 【描述】中的“对应代码”指的是通过MyBatis实现数据库操作的Java...

    MyBatis笔记(狂神说java)

    MyBatis摒弃了传统的DAO层手动拼接SQL的方式,而是通过XML或注解方式配置SQL语句,将SQL与Java代码解耦,使得数据库操作更加灵活,易于维护。 二、MyBatis架构 MyBatis的架构主要由以下几个部分组成: 1. ...

    狂神笔记md文件.zip

    在笔记中,可能会详细讲解Mybatis的配置文件、Mapper接口和XML配置,以及如何使用注解进行映射。还会涉及动态SQL,例如if、choose、when、otherwise等标签的使用,以及如何进行参数映射和结果映射。 接着,Spring...

Global site tag (gtag.js) - Google Analytics