`

配置裸Ibatis

 
阅读更多

     hibernate的裸配置请看:http://liuzl121.iteye.com/blog/1694187

     做项目的时候一般都是ibatis与spring结合起来用的,可是自己要做的例子的话还得用裸的ibatis,这时候突然懵了,不知道怎么获得SqlMapClient,于是上网查找治疗,按照他们的方法自己做了个demo,感觉还挺简单的,在这里记下来,以免以后忘了不知道去哪找。

尊重作者发出参考地址:

     iteye: http://sarin.iteye.com/blog/720321

     百度文库:http://wenku.baidu.com/view/5ac1093c376baf1ffc4fad17.html

 

     Ibatis的主要是对SqlMapConfig.xml的配置,以及对书写sql语句的xml的配置。

发下SqlMapConfig.xml的配置代码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<properties resource="com/zl/source/jdbc.properties" />
<!--  报错请将settings中每一行注释去掉	-->
<!--	<settings-->
<!--		cacheModelsEnabled="true"		 是否启用SqlMapClient上的缓存机制。 建议设为"true"  -->
<!--		lazyLoadingEnabled="true"		 是否启用延迟加载机制,建议设为"true"  -->
<!--		enhancementEnabled="true"		 是否针对POJO启用字节码增强机getter/setter的调用效能,避免Reflect所带来的性能开销。同时,这也为Lazy Loading带来提升。 建议设为"true" -->
<!--		errorTracingEnabled="true"		 是否启用错误日志,在开发期间建议设为"true" 以方便调试 -->
<!--		maxRequests="32"		  		 最大并发请求数(Statement并发数 ) 	-->
<!--		maxSessions="10"		  		 最大Session数。即当前最大允许的并发SqlMapClient数。 -->
<!--		maxTransactions="5"		  		 最大并发事务数 	-->
<!--		useStatementNamespaces="true"	 是否启用命名空间 -->
<!--	/>-->
		<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${jdbc.driverClassName}" />
			<property name="JDBC.ConnectionURL" value="${jdbc.url}" />
			<property name="JDBC.Username" value="${jdbc.username}" />
			<property name="JDBC.Password" value="${jdbc.password}" />
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/zl/source/user.xml" />
</sqlMapConfig>

 

 

 

     JDBC的属性写在jdbc.properties文件中,sqlMap中为写sql的xml文件。

 

user.xml文件代码:

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="user">
	<typeAlias alias="User" type="com.zl.entity.SysUserInfo" />
	<select id="getUser" resultClass="User">
		SELECT USER_NAME AS userName FROM SYS_USER_INFO
	</select>
</sqlMap>

 

 

     typeAlias 是给类起别名,之后的标签中就可以用别名替代冗长的类全名了,在sqlMap中的namespace是在SqlMapConfig.xml中settings中配置useStatementNamespaces为true时,调用getUser时需要加上别名.getUser,例如我这里主函数的查询就应该是:List<SysUserInfo> list = sqlMap.queryForList("user.getUser");
操作标签除了select 还有insert 、update、delete 标签中可以设置返回值类型和参数类型,如果想返回的是一个实体类的话,查询语句AS后面的别名必须要和实体类中对应的变量名称保持一致。

      另外,我在测试的时候用的是SELECT * FROM SYS_USER_INFO发现返回的类中的信息是不全的,不知道为什么。

 

 

下面发下测试类中的代码:

package com.zl.java;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.zl.entity.SysUserInfo;

public class Test {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws IOException, SQLException{
		
		String config = "com/zl/source/SqlMapConfig.xml";
		Reader reader = Resources.getResourceAsReader(config);
		SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
		
		List<SysUserInfo> list = sqlMap.queryForList("getUser");
		for (SysUserInfo user : list) {
			System.out.println(user.getUserName());
		}
	}
}

  

 

 

附件中有我做的例子,测试通过的,可以参考 

分享到:
评论

相关推荐

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    ibatis用xml配置文件配置使用

    本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到的各种问题。 首先,我们了解iBATIS的核心概念——映射器(Mapper)。映射器是定义SQL语句的地方,而XML配置文件是映射器的主要...

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势...

    Ibatis的应用和配置

    Ibatis的主要配置文件是`mybatis-config.xml`,它是整个系统的全局配置文件。这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ``` 在这个...

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    ibatis相关配置

    ### Ibatis配置详解 1. **全局配置文件(ibatis-config.xml)** 全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml &lt;!DOCTYPE configuration PUBLIC "-/...

    ibatis 实例 配置 源码

    ibatis 实例 配置 源码 依赖包 ibatis-2.3.4.726.jar commons-logging-api.jar commons-logging-1.1.jar commons-dbcp-1.2.2.jar commons-pool.jar

    常用ibatis配置

    标题中提到的“常用ibatis配置”指的是在使用iBatis这一数据持久层框架中,常见的配置用法和技术点。iBatis(现称为MyBatis)是一个流行的Java持久层框架,它通过使用XML或注解的方式,将SQL语句与对象进行映射,...

    ibatis配置文件

    标题:“ibatis配置文件” 描述:“详细的ibatis配置文件,初来乍到,先打个招呼...” 在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是...

    springMVC整合ibatis 配置详细

    3. **配置iBatis**:创建SqlSessionFactoryBean,配置数据源、MyBatis的配置文件路径等。例如: ```xml ``` 4. **定义Mapper接口和XML配置**:在iBatis中,定义Mapper接口,并在XML文件中编写SQL语句。...

    SPRING IBATIS 保留IBATIS事务的配置方式

    当我们将Spring与iBatis进行整合时,可以充分利用Spring的依赖注入(DI)和面向切面编程(AOP)能力来简化iBatis的配置和使用。其中一种重要的整合方式就是保留iBatis本身的事务管理机制,而不是完全依赖Spring的...

    ibatis sqlmap配置详解

    SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...

    ibatis配置文件模板

    总结起来,Ibatis配置文件模板是构建Ibatis项目的基础,`SqlMap.properties`提供数据库连接信息,`SqlMapConfig.xml`负责全局配置,而JavaBean的映射文件则定义了数据库操作与Java对象的对应关系。理解并熟练掌握...

    ibatis 中sqlMap配置

    在 iBatis 框架中,SQLMap配置是整个应用程序的核心部分,占据了大部分的开发工作。下面将详细解析 iBatis 中SQLMap配置的关键知识点: 1. **命名空间(Namespace)**: 命名空间是iBatis配置中的一个重要概念,它...

    配置ibatis3.0时,发生的小错误

    在配置iBatis3.0时,可能会遇到各种小错误,这些错误往往由于不正确的配置、依赖缺失或者编码问题导致。以下是对这个主题的详细解释。 首先,让我们了解iBatis是什么。iBatis是一个优秀的持久层框架,它允许开发者...

Global site tag (gtag.js) - Google Analytics