hibernate中控制console输出SQL语句的配置如下:
hibernate.cfg.xml中
<hibernate-configuration>
<session-factory>
...
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
...
然而在iBatis中
须在log4j.properties加上如下代码(仅供参考):
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
下面是完整实例
via: http://www.tutorialspoint.com/ibatis/ibatis_debugging.htm
It is easy to debug your program while working with iBATIS. iBATIS has built-in logging support and it works with the following logging libraries and searches for them in this order.
-
Jakarta Commons Logging (JCL).
-
Log4J
-
JDK logging
You can use any of the above listed libraries alongwith iBATIS.
Debugging with Log4J:
Assuming you are going to use Log4J, which is my favorite for logging. Before proceeding you need to cross check following points:
-
The Log4J JAR file (log4j-{version}.jar) should be in the CLASSPATH.
-
You have log4j.properties available in the CLASSPATH.
Following is the of a log4j.properties file. Note that some of the lines are commented out. You can uncomment them if you need additiona debugging information.
# Global logging configuration
log4j.rootLogger=ERROR, stdout
log4j.logger.com.ibatis=DEBUG
# shows SQL of prepared statements
#log4j.logger.java.sql.Connection=DEBUG
# shows parameters inserted into prepared statements
#log4j.logger.java.sql.PreparedStatement=DEBUG
# shows query results
#log4j.logger.java.sql.ResultSet=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
# Console output
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p[%t]-%m%n
You can find complete documentation for Log4J from Apaches site: Log4J Documentation.
iBATIS Debugging Example:
The following Java class is a very simple example that initializes, and then uses, the Log4J logging library for Java applications. We would use above mentioned property file which lies in CLASSPATH.
import org.apache.log4j.Logger;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class IbatisUpdate{
static Logger log = Logger.getLogger(IbatisUpdate.class.getName());
public static void main(String[] args) throws IOException,SQLException{
Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml");
SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd);
/* This would insert one record in Employee table. */
log.info("Going to update record.....");
Employee rec = new Employee();
rec.setId(1);
rec.setFirstName( "Roma");
smc.update("Employee.update", rec );
log.info("Record updated Successfully ");
log.debug("Going to read records.....");
List <Employee> ems = (List<Employee>)smc.queryForList("Employee.getAll", null);
Employee em = null;
for (Employee e : ems) {
System.out.print(" " + e.getId());
System.out.print(" " + e.getFirstName());
System.out.print(" " + e.getLastName());
System.out.print(" " + e.getSalary());
em = e;
System.out.println("");
}
log.debug("Records Read Successfully ");
}
}
Compilation and Run:
Here are the steps to compile and run the above mentioned software. Make sure you have set PATH and CLASSPATH appropriately before proceeding for the compilation and execution.
-
Create Employee.xml as shown above.
-
Create Employee.java as shown above and compile it.
-
Create IbatisUpdate.java as shown above and compile it.
-
Create log4j.properties as shown above.
-
Execute IbatisUpdate binary to run the program.
You would get following result, and a record would be updated in EMPLOYEE table and later same record would be read from the EMPLOYEE table.
DEBUG [main] - Created connection 28405330.
DEBUG [main] - Returned connection 28405330 to pool.
DEBUG [main] - Checked out connection 28405330 from pool.
DEBUG [main] - Returned connection 28405330 to pool.
1 Roma Ali 5000
2 Zara Ali 5000
3 Zara Ali 5000
Debug Methods:
In the above example we used only info() method but you can use any of the following methods as per your requirements:
public void trace(Object message);
public void debug(Object message);
public void info(Object message);
public void warn(Object message);
public void error(Object message);
public void fatal(Object message);
相关推荐
标题中的"springmvc_hibernate_ibatis_jdbc"指的是一个整合了SpringMVC、Hibernate、iBatis和JDBC这四种关键技术的Java应用框架。这个框架旨在提供一个全面且强大的解决方案,便于开发人员进行Web应用程序的构建。 ...
这个文档集,"iBATIS_API_DOC.rar_doc_ibatis a_ibatis api_ibatis d",显然是关于iBATIS API的详细文档,旨在帮助开发者更好地理解和使用iBATIS框架。 首先,让我们深入理解iBATIS的核心概念: 1. SQL Maps:...
iBATIS_DBL-2.2.0.638.zip 是一个包含了iBATIS数据库层(DBL)2.2.0.638版本的源代码包,专为Java开发者设计。iBatis是一个优秀的持久层框架,它允许开发者将SQL与Java代码分离,从而简化了数据库操作。这个压缩包...
hibernate下载 : http://sourceforge.net/projects/hibernate/files/hibernate3/--3.XX版本 ...比如:ibatis-2.3.0.677.jar, spring 可在下载你需要的版本: http://www.springsource.org/download
iBATIS DAO是Java开发中的一个持久层框架,它提供了数据访问对象(DAO)的实现,使得数据库操作更加简单和灵活。在这个2.3.4.726版本的源码中,我们可以深入理解iBATIS DAO的工作原理,并通过添加注释来帮助我们更好...
标题中的“iBATIS_Spring_struts_demo.rar_DEMO_Struct spring ibatis_ibatis j”表明这是一个关于集成iBATIS、Spring和Struts的演示项目。这个DEMO旨在展示如何在Java应用中有效地整合这三个框架,从而实现数据持久...
本项目"ibatis_with_memcached"就是关于如何将Ibatis与Memcached集成,实现高效的数据库缓存策略的实例。 Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC...
《IBATIS_IN_ACTION》是一本深度探讨iBATIS框架应用与实践的专业书籍,由Clinton Begin、Brandon Goodin和Larry Meadors共同编写。本书详细介绍了iBATIS这一流行开源框架的核心概念、工作原理以及在实际项目中的应用...
标题中的"ssi.rar_ibatis_ibatis_struts2_java ssi_myeclipse ssi_struts2"揭示了这个压缩包文件包含的内容,主要涉及到SSI(Server Side Include)技术、MyEclipse开发环境、以及三大框架——Struts2、Spring和...
iBATIS 是一款开源的 Java 框架,它为 SQL Maps 和 Objects 的映射提供了简单的方法,使得在 Java 应用程序中处理数据库操作变得更加容易。"iBATIS_02_addSequence_add_del_update_sel_sellike" 这个主题可能涉及到...
### ibatis和Hibernate的简单介绍 #### 一、ibatis简介 ibatis是Apache软件基金会的一个开源项目,它提供了一种轻量级的Java持久层框架。ibatis的核心功能是将SQL语句与Java代码分离,使开发人员可以更加专注于...
### ibatis 与 hibernate 之间的比较:优点和缺点 #### 概述 在 Java 开发领域中,对象关系映射(Object Relational Mapping,简称 ORM)是一种将面向对象编程语言中的对象模型与数据库系统中的关系模型相互转换的...
【hibernate 和 iBATIS 框架详解】 Hibernate 和 iBATIS 是两种流行的 Java 持久层框架,它们都致力于简化对象关系映射(ORM),将 Java 类对象与数据库表之间的交互变得更加便捷。然而,它们在实现方式和设计理念...
【ibatis和Hibernate的区别】 在Java开发中,ibatis和Hibernate都是常见的对象关系映射(ORM)框架,它们简化了数据库操作,将Java对象与数据库表之间的映射关系抽象出来,使得开发人员可以使用面向对象的方式处理...
iBatis 是一款著名的开源持久层框架,它允许开发者将SQL语句与Java代码分离,提供了灵活的数据库交互方式。本示例项目"Ibatis_Demo"是一个针对新手的入门教程,旨在帮助初学者理解并掌握如何在实际项目中运用iBatis...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的繁琐操作。本教程将帮助初学者理解并掌握Ibatis的基本概念、安装与配置...
iBatis_2.34_API.chm iBatis的API文档。
《Ibatis_in_action》这本书是关于轻量级数据访问工具Ibatis的深入解析,它旨在帮助开发者更好地理解和应用这一框架。Ibatis是一个Java库,它为数据库操作提供了灵活且强大的支持,将SQL查询与应用程序代码分离,...
标题与描述概述的知识点主要集中在iBatis 3(现称为MyBatis)的入门级应用,特别是关于如何在Web项目中集成并使用这个框架。iBatis 3是一个持久层框架,它允许开发者通过XML配置文件或注解来映射SQL语句,从而简化了...
iBATIS 数据库层开发指南是一份详细的文档,旨在帮助开发者深入理解并有效利用iBATIS框架进行数据库操作。iBATIS,一个轻量级的Java持久层框架,它为SQL映射提供了一种灵活的方法,使得Java应用程序可以与关系数据库...