📄 userdaoibatis.java
字号:
package org.appfuse.dao.ibatis;
import java.util.List;
import org.appfuse.dao.UserDAO;
import org.appfuse.model.User;
import org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
/**
* This class interacts with iBatis's SQL Maps to save and retrieve User
* related objects.
*
* @author Matt Raible
*/
public class UserDAOiBatis extends SqlMapClientDaoSupport implements UserDAO {
private DataFieldMaxValueIncrementer incrementer;
public void setIncrementer(DataFieldMaxValueIncrementer incrementer) {
this.incrementer = incrementer;
}
public List getUsers() {
return getSqlMapClientTemplate().queryForList("getUsers", null);
}
public User getUser(Long id) {
User user =
(User) getSqlMapClientTemplate().queryForObject("getUser", id);
if (user == null) {
throw new ObjectRetrievalFailureException(User.class, id);
}
return user;
}
public void saveUser(User user) {
if (user.getId() == null) {
//MySQLMaxValueIncrementer incrementer =
// new MySQLMaxValueIncrementer(getDataSource(), "user_sequence",
// "value");
Long id = new Long(incrementer.nextLongValue());
user.setId(id);
// Use iBatis's <selectKey> feature, which is db-specific
// Long id = (Long) getSqlMapClientTemplate().insert("addUser", user);
getSqlMapClientTemplate().insert("addUser", user);
logger.info("new User id set to: " + id);
} else {
getSqlMapClientTemplate().update("updateUser", user);
}
}
public void removeUser(Long id) {
getSqlMapClientTemplate().update("deleteUser", id);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -