/**
* 最后一次登录信息的更新方法
*/
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;
}
<!-- 修改 最后一次登录的日期 、时间 、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语句里的表名列名会带 ' 单引号,导致报错)
分享到:
相关推荐
在实际的开发中,我们常常遇到如下场景:当需要在SQL语句中动态地引用表名或者列名时,就需要用到“##”。例如,你可能有一个动态的查询,需要根据用户的输入来决定查询哪个表: ```xml SELECT * FROM #{...
2. **获取数据库元数据**:通过`DatabaseMetaData`接口,可以获取到表名、列名、数据类型等信息。 3. **解析元数据并构造SQL语句**:遍历获取的列信息,构建对应的SELECT、INSERT、UPDATE或DELETE语句。 4. **生成...
1. **`@hibernate.class`**:这个标签用于指定表名,并提供其他配置信息,如主键列的名称和类型。 2. **`@hibernate.discriminator`**:用于指定主键的列名和类型,以及关联的 Java 属性。 3. **`@hibernate....
文件名、变量名、数据库表名和列名都应遵循一定的规则。例如,文件名和变量名应清晰反映其内容,遵循驼峰命名法。数据库表名和列名则需遵循特定的数据库开发规范。Java包名通常以公司域名倒序为基础,再加上模块名,...
进一步分析发现,只有在查询业务数据时,由于列名会随表名变化,导致了缓存的元数据不匹配。研究iBatis框架后,了解到iBatis有自动结果映射的缓存,会存储上一次查询的元数据,以提高性能。 解决思路是关闭或重置...
使用 ORM 框架,例如 hibernate,iBatis,可以提高数据库的性能和可靠性。 12. 分割不常使用的数据表到不同的物理存储 分割不常使用的数据表到不同的物理存储,以获得更好的性能。 13. 对于关键数据库,使用安全...
- `$`将传入的数据直接拼接到SQL中,不安全,容易导致SQL注入,主要用于传入表名或列名。 #### 五、CRUD操作 1. **查询操作**: - `<select>`标签用于执行查询操作。 - `id`属性对应DAO接口中的方法名。 - `...
@TableName("user_table") // 这里的"user_table"应该替换为实际的表名 public class User { private String id; @TableField("username") // 使用@TableField注解指定数据库列名 private String username; ...
这种方法特别适用于使用MyBatis框架(前身是iBatis)的项目。 #### 二、SqlMap概述 **SqlMap**是MyBatis的核心配置文件之一,它定义了如何将数据库查询结果映射到Java对象上。例如,一个简单的`SqlMap.xml`文件...
1. MySQL查询字段区分大小写:MySQL默认对表名和列名不区分大小写,但对数据区分,可通过修改collation设置调整。 2. 数据库集群和负载均衡:通过主从复制、分布式数据库等方式提高可用性和读写性能。 3. 存储过程:...
1. **明确、统一的标识和列名**:使用清晰易懂的命名规范可以提高代码可读性,减少误解。例如,`School`, `SchoolCourse`, `CourseID` 这样的命名便于理解每个表或字段的含义。 2. **数据表名使用单数**:遵循这一...
4. **更改表名**:在Oracle中,更改表名可以使用`ALTER TABLE`语句配合`RENAME TO`关键字,例如:`ALTER TABLE CUSTOMER RENAME TO CUSTOMER_CHANGE`。正确答案是B。 5. **游标(Cursor)**:在SQL中,游标允许我们...
- **实现技巧**:在编写SQL查询语句时,列出所需的列名,以减少不必要的数据传输,从而提高查询效率。 #### 11. 使用ORM框架简化复杂操作 - **实践要点**:对于复杂的编程任务,推荐使用ORM(对象关系映射)框架,...
1. **明确标识和列名**:使用清晰、一致的命名规则,如`School`, `SchoolCourse`, `CourseID`,便于理解每个表和列的功能。 2. **单数表名**:推荐使用单数形式的表名,如`StudentCourse`,而不是复数形式的`...
<数据库列名 columnAlias="列的别名" javaType="自定义javaType" unique="是否唯一性约束" nullable="是否可以为空" pk="是否主键,在表没有主键的情况下,可以指定一个代理主键" updatable="是否可以更新" ...
rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成...