// 用户登录检测
public Map findUser(String username, String password) {
//String sql = "select u.* from tbUser u where lower(u.UserName)=:UserName";
String sql = "select u.* from tbUser u where u.UserName=:UserName";
if ("".equals(password)) {
sql += " and (u.PassWord='d41d8cd98f00b204e9800998ecf8427e' or u.PassWord is null)";
} else {
sql += " and u.PassWord=:PassWord";
}
HashMap<String, String> paramMap = new HashMap<String, String>();
paramMap.put("UserName", username);
paramMap.put("PassWord", password);
Map map = null;
try {
map = baseDAO.getNamedParameterJdbcTemplate().queryForMap(sql,paramMap);
} catch (Exception e) {
}
-------------------------------------
UserName 和 Password 是事先定义的 Map中的键,在之后HashMap<String, String> paramMap 才定义的。
然后把map作为queryFormap()方法的参数
---------------------------------------
另一种方法是传递Object[]Object数组
public void modifyCommunity(Object[] args){
String sql = " update tbForumSubject set TITLE=?,USERID=?,CONTENT=?,SN=? where ForumSID=? "; //去掉,CREATOR=?
baseDao.getJdbcTemplate().update(sql, args);
}
分享到:
相关推荐
在使用`jdbcTemplate`进行预编译查询时,我们通常会使用`query()`或`queryForList()`方法。例如: ```java String sql = "SELECT * FROM table WHERE id = ?"; Object[] params = {1}; List<MyObject> result = ...
总的来说,Spring的JdbcTemplate是连接数据库的有力工具,它通过模板方法模式封装了常见的数据库操作,简化了开发过程,同时提供了良好的异常处理机制和类型安全的参数绑定,是Spring应用中进行数据库操作的首选组件...
本主题将深入探讨Spring框架中的JdbcTemplate组件,以及模板模式和回调机制的概念。 **1. Spring JdbcTemplate** JdbcTemplate是Spring提供的一个用于简化数据库操作的API,它是Spring对JDBC(Java Database ...
这里,`query`方法接收SQL语句、参数和结果集映射器。`UserRowMapper`是自定义的类,用于将结果集的每一行转换为`User`对象。 **3. 自动处理异常和资源关闭** JdbcTemplate会自动处理JDBC相关的异常,比如...
总的来说,理解如何在Spring中正确地调用Oracle存储过程并传递数组参数是提高应用程序效率和数据库操作灵活性的重要技能。这涉及到了数据库设计、Java编程、Spring框架的使用以及对Oracle特定特性的掌握。通过上述...
通过使用模板方法设计模式,`JdbcTemplate`提供了一系列静态和非静态的方法来执行各种SQL操作,如查询、更新、插入和删除。 为了打印`JdbcTemplate`执行的SQL语句,我们需要关注以下几点: 1. **日志配置**:首先...
`JdbcTemplate`是Spring框架中的一个核心组件,主要用于简化数据库操作,提供了一种模板方法模式来执行SQL语句。在Java应用中,特别是在基于Spring的系统中,`JdbcTemplate`是一个非常常用的数据访问工具,它提供了...
在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...
- 添加数据:调用JdbcTemplate对象的update方法,传入SQL语句和可变参数(值数组)。 - 删除和修改数据:同样通过update方法,传入相应的SQL语句和参数。 2. 执行查询操作: - 查询返回某个值(如计数或总和)...
使用Spring的JdbcTemplate实现分页功能
在本文中,我们讨论了如何利用`JdbcTemplate`来实现一个基类DAO(Data Access Object),用于支持基本的CRUD(Create, Read, Update, Delete)操作。 首先,`BaseDaoInf` 是一个接口,它定义了两个方法:`find` 和 ...
更新(UPDATE)和删除(DELETE)操作同样简单,只需要将SQL语句和对应的参数传递给`update()`方法即可。 除了基础的SQL操作,JdbcTemplate还提供了很多高级功能,如批处理、事务管理等。例如,我们可以在一个事务中...
此外,JdbcTemplate还支持使用命名参数和占位符,如`?`或`:param`,这样可以避免SQL注入问题。例如: ```java String sql = "SELECT * FROM my_table WHERE id = ?"; MapSqlParameterSource params = new ...
`JdbcTemplate`是Spring框架中用于简化数据库操作的模板类,它提供了丰富的API来执行SQL语句,包括插入、更新、删除以及查询等操作。在Java应用中,使用`JdbcTemplate`可以避免直接操作JDBC,减少代码量,提高代码的...
)和命名参数(如::name),并且提供了ValueObject(如:PreparedStatementCreator)进行复杂参数的设置。 3. **RowMapper**:这是将结果集转换为Java对象的接口,用户可以根据实际需求实现该接口,将每一行数据...
这里使用了`queryForObject()`方法,其接收三个参数:SQL语句、参数数组及期望的返回类型。如果查询结果为空或不匹配指定的返回类型,则会抛出异常。 ##### 3. `queryForList()` 当需要获取多行数据时,可以使用`...
- 使用参数化查询而非字符串拼接,以防止SQL注入。 - 对于批量操作,使用`JdbcTemplate.batchUpdate()`方法。 - 考虑使用`NamedParameterJdbcTemplate`,它可以提供更清晰的命名参数查询。 6. **错误处理和异常...
对于带有参数的更新,同样可以使用占位符和对象数组: ```java jdbcTemplate.update("UPDATE USER SET name = ? WHERE user_id = ?", new Object[]{name, id}); ``` 3. **查询操作** JdbcTemplate提供了多种...
在`JdbcTemplate`的设计中,模板(Template)承担着事物控制、资源管理和异常处理的责任,而回调(Callback)则专注于实现应用程序特有的逻辑,如创建SQL语句、设置参数和处理结果集。这种分离使得开发者能够更专注...