package cn.jbit.dao.impl;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.ibatis.sqlmap.client.SqlMapClient;
import cn.jbit.bean.Users;
import cn.jbit.dao.UserDao;
@Repository
public class UserDaoImpl implements UserDao {
private SqlMapClient sqlMapClient;
public SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
public void setSqlMapClient(SqlMapClient sqlMapClient) {
this.sqlMapClient = sqlMapClient;
}
/*static{
try {
Reader reader=Resources.getResourceAsReader("SqlMapConfig.xml");
sqlMapClient=SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
e.printStackTrace();
}
}*/
/**
* 实现查询的两种方式
* 1 在该类中声明一个SqlMapClient对象,并添加set方法
* 通过spring容器依赖注入一个SqlMapClient对象用该对象调用查询的存储过程
* 如:sqlMapClient
* 2 继承SqlMapClientDaoSupport 可以通过它提供的getSqlMapClient()对象获得一个SqlMapClient对象,同上操作
* 如:getSqlMapClient().queryForList("getAllUsers", null)
* 或者通过它提供的getSqlMapClientTemplate()方法返回的SqlMapClientTemplate对象调用查询的存储过程
* 如:getSqlMapClientTemplate().queryForList("getAllUsers", null);
*/
@SuppressWarnings("unchecked")
public List<Users> getUsers() {
List<Users> list=null;
try {
list=sqlMapClient.queryForList("getAllUsers", null);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public Users getUsersById(int id) {
Users user=null;
try {
user=(Users) sqlMapClient.queryForObject("getUserByUserId", id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
@SuppressWarnings("unchecked")
public List<Users> getUsersByPro(Long u_id) {
List<Users> users=null;
HashMap<String, Object> paramer=new HashMap<String, Object>();
paramer.put("u_id", u_id);
try {
sqlMapClient.queryForObject("getUsers",paramer);
users=(List<Users>) paramer.get("result");
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
public String getPasswordByName(String name) {
String password=null;
HashMap<String,Object> paramer=new HashMap<String, Object>();
paramer.put("u_name", name);
try {
sqlMapClient.queryForObject("getPasswordByName",paramer);
password=(String) paramer.get("result");
} catch (SQLException e) {
e.printStackTrace();
}
return password;
}
public Integer addUser(Users user) {
Integer no=null;
HashMap<String,Object> paramer=new HashMap<String, Object>();
paramer.put("u_name", user.getUsername());
paramer.put("u_pwd", user.getPassword());
try {
sqlMapClient.insert("addUser", paramer);
no=(Integer) paramer.get("result");
} catch (SQLException e) {
e.printStackTrace();
}
return no;
}
public Integer updateUsers(Users user) {
Integer no=null;
HashMap<String,Object> paramer=new HashMap<String, Object>();
paramer.put("u_id", Integer.valueOf(user.getUserid().toString()));
paramer.put("u_name", user.getUsername());
paramer.put("u_pwd", user.getPassword());
try {
sqlMapClient.update("updateUser", paramer);
no=(Integer) paramer.get("result");
} catch (SQLException e) {
e.printStackTrace();
}
return no;
}
@SuppressWarnings("unchecked")
public List<Users> getListsByPageIndex(String source, Integer pageSize,
Integer pageIndex) {
List<Users> list=null;
Integer totalCount=0;
Integer totalPage=0;
HashMap<String,Object> paramer=new HashMap<String, Object>();
paramer.put("sqlscript", source);
paramer.put("pageSize", pageSize);
paramer.put("pageIndex", pageIndex);
try {
sqlMapClient.queryForList("getUserByPageIndex", paramer);
list=(List<Users>) paramer.get("result");
totalCount=(Integer) paramer.get("totalCount");
totalPage=(Integer) paramer.get("totalPage");
System.out.println("总条数:"+totalCount+"\n页数:"+totalPage);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
评论19
最新资源