`

自动构建-IbatisSql

 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<schema>
	<tables>
		<table name="user" key="id" desc="用户">
			<columns>
				<column name="id" type="Long" desc="用户id"/>
				<column name="name" type="String" desc="用户名称"/>
				<column name="gender" type="String" desc="用户性别"/>
				<column name="email" type="String" desc="用户Email"/>
			</columns>
		</table> 
		<table name="role" key="rid" desc="角色">
			<columns>
				<column name="rid" type="Long" desc="角色rid"/>
				<column name="name" type="String" desc="角色名称"/>
				<column name="level" type="String" desc="角色级别"/> 
				<!-- 简单的权限控制 -->
			</columns>
		</table> 
	</tables>
</schema>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!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="org.ycl.base.dos.UserDO"/>

    <resultMap id="userResult" class="user">
		<result column="id" property="id"/>
		<result column="name" property="name"/>
		<result column="gender" property="gender"/>
		<result column="email" property="email"/>
    </resultMap>
	
	<!-- 数据库表字段 -->
	<sql id="user_columns.all"> 
		id
		,name
		,gender
		,email
	</sql>

    <select id="UserIbatisDAO.queryUser" resultMap="userResult" parameterClass="long">
        SELECT 
			<include refid="user_columns.all"/>
        FROM 
			user
        WHERE 
			id = #id#
    </select>

    <update id="UserIbatisDAO.updateUser" parameterClass="user">
        UPDATE 
			user
        SET 
			<isNotNull prepend="" property="id">id = #id#</isNotNull>
    		<isNotNull prepend="," property="name">name = #name#</isNotNull>
    		<isNotNull prepend="," property="gender">gender = #gender#</isNotNull>
    		<isNotNull prepend="," property="email">email = #email#</isNotNull>
        WHERE 
			id = #id#
    </update>

    <insert id="UserIbatisDAO.insertUser" parameterClass="user">
        INSERT INTO user(
			<include refid="user_columns.all"/>
        ) VALUES (
    		#id#
    		,#name#
    		,#gender#
    		,#email#
        )
        <selectKey resultClass="long" keyProperty="id" >
    		SELECT @@IDENTITY AS id
    	</selectKey>
    </insert>

</sqlMap>
分享到:
评论

相关推荐

    夏昕-ibatis 开发指南pdf版

    这些元素共同构建了iBatis的数据访问层,使得开发者可以自定义SQL语句,避免了传统的DAO模式中的大量重复代码。 其次,书中会深入讲解如何使用iBatis进行CRUD(创建、读取、更新、删除)操作。这涵盖了动态SQL的...

    spring-ibatis简单集成

    1. **添加依赖**:在项目构建工具(如Maven或Gradle)的配置文件中,我们需要引入Spring和iBatis的相关库。 2. **配置iBatis**:创建一个`SqlSessionFactoryBean`,它负责创建`SqlSessionFactory`,这是iBatis的...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍SqlSession、SqlSessionFactory、Executor等关键接口和类的使用方法。 7. **缓存机制**:解释...

    Spring-Struts-IBatis-AOP-Transaction

    IBatis 是一个持久层框架,它将 SQL 查询与 Java 代码分离,允许开发者编写 SQL 而不需关心数据访问的细节。IBatis 可以与 ORM(对象关系映射)工具结合,提供灵活的数据访问方式。在 SSI 集成中,IBatis 作为数据库...

    ibatis-sqlmaps-2_cn

    此外,教程还会涵盖动态SQL,这是IBATIS的一大亮点,允许在运行时构建和修改SQL语句,提高了代码的复用性和可维护性。 在使用IBATIS的过程中,你可能会遇到参数映射和结果映射的问题。《ibatis-sqlmaps-2_cn》将...

    springmvc-ibatis-html模版登录后台模版demo

    3. "oa_demo":这可能是一个办公自动化(OA)系统的示例,展示了如何使用Spring MVC和iBatis构建企业级应用。可能包括用户管理、任务分配、文档处理等模块。 在这个项目中,Spring MVC负责接收HTTP请求,根据配置的...

    springMVC-ibatis2

    iBatis则是一个SQL映射框架,它允许开发者将SQL查询直接与Java代码相结合,提供了更灵活的数据访问控制。 在这个主题中,我们将深入理解如何将这两个强大的工具集成,以便在实际项目中实现高效的数据操作和业务逻辑...

    ibatis sql生成工具

    Ibatis SQL生成工具是一款专为开发者设计的实用应用程序,它能够极大地提高开发效率,尤其是在处理大量数据库操作时。Ibatis,作为一个轻量级的持久层框架,与传统的ORM(对象关系映射)工具相比,提供了更为灵活的...

    Java-Ibatis-Tools

    《Java Ibatis Tools:高效构建Ibatis框架的实用工具》 在Java开发中,Ibatis作为一款轻量级的持久层框架,因其简单易用、灵活性强的特点,被广泛应用于各种项目中。然而,手动编写Ibatis框架所需的SQL映射文件...

    ibatis sqlserver代码自动生成

    本文将围绕"Ibatis SQLServer代码自动生成"这一主题,详细讲解如何利用工具或方法自动生成与SQLServer配合的Ibatis代码,以便提高开发效率。 首先,Ibatis允许我们定义SQL语句、存储过程和高级映射,将数据库访问...

    struts-sping-ibatis 小例子很详细的

    对于 iBatis,我们需要创建一个 SQL 映射文件,其中包含数据库操作的 SQL 语句,并将这些语句与 DAO 中的方法关联起来。 应用运行时,当用户发送一个请求,Struts 会根据配置处理这个请求,调用相应的 Action。...

    IBatis.net-IBatis.DataAccess.1.9.2/IBatis.DataMapper.1.6.2

    - **查询构造器**:简化SQL语句的构建,支持参数化查询,避免SQL注入风险。 **3. 使用示例** 在实际应用中,开发者首先会定义.NET对象,然后创建对应的XML映射文件,描述对象属性与数据库字段的对应关系。接着,...

    iBATIS-SqlMaps-2 PDF文档资料(日文)

    例如,支持动态SQL,允许在运行时根据条件构建SQL语句,极大地提高了代码的复用性和灵活性。此外,还包括事务管理,使得开发者能够更好地控制数据的读写操作,并且支持多种数据库,如Oracle、MySQL、SQL Server等。 ...

    iBATIS-SqlMaps中文教程集合

    - 动态SQL:讲解iBATIS的动态SQL功能,如if、choose、where、trim等标签,实现灵活的SQL构建。 - ResultMap与AutoMapping:探讨ResultMap如何映射复杂的结果集,以及自动映射机制的使用。 - ParameterMap与参数...

    iBATIS-SqlMaps-2_ja.pdf

    iBATIS 支持动态 SQL,即根据运行时的条件动态构建 SQL 语句。这包括: - **二进制条件元素**:例如 `&lt;if&gt;` 和 `&lt;choose&gt;` 等元素,用于构建复杂的条件逻辑。 - **简单动态 SQL 元素**:如 `&lt;where&gt;` 和 `&lt;set&gt;` 等...

    iBATIS-SqlMaps-2_cn.rar

    3. 动态SQL:iBATIS支持动态构建SQL语句,可以根据传入的参数灵活地调整查询条件。这在处理条件复杂的查询时非常有用,避免了编写大量硬编码的SQL语句。 4. 事务管理:iBATIS提供了事务管理功能,可以在应用级别...

    iBATIS-SqlMaps

    为了提高SQL语句的灵活性,iBATIS-SqlMaps还支持动态SQL功能,允许在运行时构建SQL语句。主要包括以下元素: - **二元条件元素**:根据条件选择性地包含SQL片段。 - **一元条件元素**:用于控制SQL片段的整体开关。...

    AM ESB.rar-CSS.rar-DHtml.rar-Ibatis.rar-Spring.rar

    iBatis提供了映射框架,可以将SQL查询结果自动映射到Java对象,简化了数据访问层的开发工作。 5. Spring框架 Spring是Java开发中最广泛使用的应用框架,涵盖了依赖注入、面向切面编程、数据访问、Web开发等多个...

    iBATIS SQL Maps 开发指南

    2. 动态SQL:通过条件标签,如`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`,实现SQL语句的动态构建。 3. 事务管理:提供基于编程和声明式的事务控制方式。 4. 缓存机制:可以配置缓存来提高查询效率,减少对数据库...

Global site tag (gtag.js) - Google Analytics