`
不爱不见
  • 浏览: 284746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis动态传 表名、列名

阅读更多


    博客分类:
    iBatis

iBatis
Java代码  收藏代码

    /**
         * 最后一次登录信息的更新方法
         */ 
        public Dto updateLastLoginInfo(Dto param,String tableName,String id){ 
            param.put("tableName", tableName); 
            param.put("id", id); 
            //设置最后一次登录的日期时间 
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HHmmss"); 
            String currentTime[] = sdf.format(new Date()).split(" "); 
            param.put("lastDate",currentTime[0]); 
            param.put("lastTime",currentTime[1]); 
            //设置最后一次登录的客户端IP 
            param.put("lastIp",getRequest().getRemoteAddr()); 
            boolean updres = loginservice.updateLastLoginInfo(param); 
            if(updres) 
                getRequest().setAttribute("ErrorMSG", "密码错误,不允许登录!"); 
            else 
                System.out.println("最 后 一 次 登 录 信 息 更 新 失 败 ! "); 
             
            return param; 
        } 


Xml代码  收藏代码

    <!-- 修改  最后一次登录的日期 、时间 、ip  --> 
        <update id="updateLastLoginInfo" parameterClass="dto"> 
            UPDATE $tableName$ 
            set last_date=#lastDate#, 
                last_time=#lastTime#, 
                    last_ip=#lastIp# where $id$=#userid# 
        </update> 

参数 用#parameter#接收  表名 列名 用 $tableName$     $columnName$接收(表名、列名也用#接收的话 sql语句里的表名列名会带  ' 单引号,导致报错)

转自:http://sunyuan19891023-sogou-com.iteye.com/blog/1725368
分享到:
评论

相关推荐

    ibatis开发过程取值问题

    在实际的开发中,我们常常遇到如下场景:当需要在SQL语句中动态地引用表名或者列名时,就需要用到“##”。例如,你可能有一个动态的查询,需要根据用户的输入来决定查询哪个表: ```xml SELECT * FROM #{...

    根据表生成ibatis的sqlMap文件

    2. **获取数据库元数据**:通过`DatabaseMetaData`接口,可以获取到表名、列名、数据类型等信息。 3. **解析元数据并构造SQL语句**:遍历获取的列信息,构建对应的SELECT、INSERT、UPDATE或DELETE语句。 4. **生成...

    pojo+xDoclet生成ibatis映射文件

    1. **`@hibernate.class`**:这个标签用于指定表名,并提供其他配置信息,如主键列的名称和类型。 2. **`@hibernate.discriminator`**:用于指定主键的列名和类型,以及关联的 Java 属性。 3. **`@hibernate....

    java开发规范.pdf

    文件名、变量名、数据库表名和列名都应遵循一定的规则。例如,文件名和变量名应清晰反映其内容,遵循驼峰命名法。数据库表名和列名则需遵循特定的数据库开发规范。Java包名通常以公司域名倒序为基础,再加上模块名,...

    java项目应用中自定义sql在ibaits框架中的使用.docx

    进一步分析发现,只有在查询业务数据时,由于列名会随表名变化,导致了缓存的元数据不匹配。研究iBatis框架后,了解到iBatis有自动结果映射的缓存,会存储上一次查询的元数据,以提高性能。 解决思路是关闭或重置...

    数据库设计理念

    使用 ORM 框架,例如 hibernate,iBatis,可以提高数据库的性能和可靠性。 12. 分割不常使用的数据表到不同的物理存储 分割不常使用的数据表到不同的物理存储,以获得更好的性能。 13. 对于关键数据库,使用安全...

    mybatis入门

    - `$`将传入的数据直接拼接到SQL中,不安全,容易导致SQL注入,主要用于传入表名或列名。 #### 五、CRUD操作 1. **查询操作**: - `&lt;select&gt;`标签用于执行查询操作。 - `id`属性对应DAO接口中的方法名。 - `...

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    @TableName("user_table") // 这里的"user_table"应该替换为实际的表名 public class User { private String id; @TableField("username") // 使用@TableField注解指定数据库列名 private String username; ...

    自动生成SqlMap

    这种方法特别适用于使用MyBatis框架(前身是iBatis)的项目。 #### 二、SqlMap概述 **SqlMap**是MyBatis的核心配置文件之一,它定义了如何将数据库查询结果映射到Java对象上。例如,一个简单的`SqlMap.xml`文件...

    面试JAVA程序员常遇到的一些问题.pdf,这是一份不错的文件

    1. MySQL查询字段区分大小写:MySQL默认对表名和列名不区分大小写,但对数据区分,可通过修改collation设置调整。 2. 数据库集群和负载均衡:通过主从复制、分布式数据库等方式提高可用性和读写性能。 3. 存储过程:...

    20个数据库设计最佳实践.pdf

    1. **明确、统一的标识和列名**:使用清晰易懂的命名规范可以提高代码可读性,减少误解。例如,`School`, `SchoolCourse`, `CourseID` 这样的命名便于理解每个表或字段的含义。 2. **数据表名使用单数**:遵循这一...

    北语19春《Oracle数据库开发》作业1234满分答案.pdf

    4. **更改表名**:在Oracle中,更改表名可以使用`ALTER TABLE`语句配合`RENAME TO`关键字,例如:`ALTER TABLE CUSTOMER RENAME TO CUSTOMER_CHANGE`。正确答案是B。 5. **游标(Cursor)**:在SQL中,游标允许我们...

    20个数据库设计最佳实践

    - **实现技巧**:在编写SQL查询语句时,列出所需的列名,以减少不必要的数据传输,从而提高查询效率。 #### 11. 使用ORM框架简化复杂操作 - **实践要点**:对于复杂的编程任务,推荐使用ORM(对象关系映射)框架,...

    分享20个数据库设计的最佳实践

    1. **明确标识和列名**:使用清晰、一致的命名规则,如`School`, `SchoolCourse`, `CourseID`,便于理解每个表和列的功能。 2. **单数表名**:推荐使用单数形式的表名,如`StudentCourse`,而不是复数形式的`...

    JAVA代码生成工具

    &lt;数据库列名 columnAlias="列的别名" javaType="自定义javaType" unique="是否唯一性约束" nullable="是否可以为空" pk="是否主键,在表没有主键的情况下,可以指定一个代理主键" updatable="是否可以更新" ...

    好用的代码生成源码

    rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成...

Global site tag (gtag.js) - Google Analytics