<?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的数据访问层,使得开发者可以自定义SQL语句,避免了传统的DAO模式中的大量重复代码。 其次,书中会深入讲解如何使用iBatis进行CRUD(创建、读取、更新、删除)操作。这涵盖了动态SQL的...
1. **添加依赖**:在项目构建工具(如Maven或Gradle)的配置文件中,我们需要引入Spring和iBatis的相关库。 2. **配置iBatis**:创建一个`SqlSessionFactoryBean`,它负责创建`SqlSessionFactory`,这是iBatis的...
5. **动态SQL**:讲解如何使用iBATIS的动态元素来构建灵活的SQL语句,以应对复杂的查询需求。 6. **API使用**:介绍SqlSession、SqlSessionFactory、Executor等关键接口和类的使用方法。 7. **缓存机制**:解释...
IBatis 是一个持久层框架,它将 SQL 查询与 Java 代码分离,允许开发者编写 SQL 而不需关心数据访问的细节。IBatis 可以与 ORM(对象关系映射)工具结合,提供灵活的数据访问方式。在 SSI 集成中,IBatis 作为数据库...
此外,教程还会涵盖动态SQL,这是IBATIS的一大亮点,允许在运行时构建和修改SQL语句,提高了代码的复用性和可维护性。 在使用IBATIS的过程中,你可能会遇到参数映射和结果映射的问题。《ibatis-sqlmaps-2_cn》将...
3. "oa_demo":这可能是一个办公自动化(OA)系统的示例,展示了如何使用Spring MVC和iBatis构建企业级应用。可能包括用户管理、任务分配、文档处理等模块。 在这个项目中,Spring MVC负责接收HTTP请求,根据配置的...
iBatis则是一个SQL映射框架,它允许开发者将SQL查询直接与Java代码相结合,提供了更灵活的数据访问控制。 在这个主题中,我们将深入理解如何将这两个强大的工具集成,以便在实际项目中实现高效的数据操作和业务逻辑...
Ibatis SQL生成工具是一款专为开发者设计的实用应用程序,它能够极大地提高开发效率,尤其是在处理大量数据库操作时。Ibatis,作为一个轻量级的持久层框架,与传统的ORM(对象关系映射)工具相比,提供了更为灵活的...
《Java Ibatis Tools:高效构建Ibatis框架的实用工具》 在Java开发中,Ibatis作为一款轻量级的持久层框架,因其简单易用、灵活性强的特点,被广泛应用于各种项目中。然而,手动编写Ibatis框架所需的SQL映射文件...
本文将围绕"Ibatis SQLServer代码自动生成"这一主题,详细讲解如何利用工具或方法自动生成与SQLServer配合的Ibatis代码,以便提高开发效率。 首先,Ibatis允许我们定义SQL语句、存储过程和高级映射,将数据库访问...
对于 iBatis,我们需要创建一个 SQL 映射文件,其中包含数据库操作的 SQL 语句,并将这些语句与 DAO 中的方法关联起来。 应用运行时,当用户发送一个请求,Struts 会根据配置处理这个请求,调用相应的 Action。...
- **查询构造器**:简化SQL语句的构建,支持参数化查询,避免SQL注入风险。 **3. 使用示例** 在实际应用中,开发者首先会定义.NET对象,然后创建对应的XML映射文件,描述对象属性与数据库字段的对应关系。接着,...
例如,支持动态SQL,允许在运行时根据条件构建SQL语句,极大地提高了代码的复用性和灵活性。此外,还包括事务管理,使得开发者能够更好地控制数据的读写操作,并且支持多种数据库,如Oracle、MySQL、SQL Server等。 ...
- 动态SQL:讲解iBATIS的动态SQL功能,如if、choose、where、trim等标签,实现灵活的SQL构建。 - ResultMap与AutoMapping:探讨ResultMap如何映射复杂的结果集,以及自动映射机制的使用。 - ParameterMap与参数...
iBATIS 支持动态 SQL,即根据运行时的条件动态构建 SQL 语句。这包括: - **二进制条件元素**:例如 `<if>` 和 `<choose>` 等元素,用于构建复杂的条件逻辑。 - **简单动态 SQL 元素**:如 `<where>` 和 `<set>` 等...
3. 动态SQL:iBATIS支持动态构建SQL语句,可以根据传入的参数灵活地调整查询条件。这在处理条件复杂的查询时非常有用,避免了编写大量硬编码的SQL语句。 4. 事务管理:iBATIS提供了事务管理功能,可以在应用级别...
为了提高SQL语句的灵活性,iBATIS-SqlMaps还支持动态SQL功能,允许在运行时构建SQL语句。主要包括以下元素: - **二元条件元素**:根据条件选择性地包含SQL片段。 - **一元条件元素**:用于控制SQL片段的整体开关。...
iBatis提供了映射框架,可以将SQL查询结果自动映射到Java对象,简化了数据访问层的开发工作。 5. Spring框架 Spring是Java开发中最广泛使用的应用框架,涵盖了依赖注入、面向切面编程、数据访问、Web开发等多个...
2. 动态SQL:通过条件标签,如`<if>`, `<choose>`, `<when>`, `<otherwise>`,实现SQL语句的动态构建。 3. 事务管理:提供基于编程和声明式的事务控制方式。 4. 缓存机制:可以配置缓存来提高查询效率,减少对数据库...