
cn.infop.dao.RoleDao Maven / Gradle / Ivy
package cn.infop.dao;
import java.util.List;
import cn.infop.entity.Role;
import cn.infop.tools.BusinessDao;
import cn.infop.tools.JdbcUtils;
public class RoleDao extends BusinessDao {
private final String table = "(SELECT * FROM roles WHERE name<>'ROOT') t";
public RoleDao() {
super(Role.class);
super.multiTable = table;
super.singleTable = "roles";
}
@SuppressWarnings("unchecked")
public List findAll() {
String sql = "select * from " + table;
return JdbcUtils.getBeans(sql, Role.class);
}
public Role findByName(String name) {
String sql = "select * from roles where name = ?";
return JdbcUtils.getBean(sql, Role.class, new Object[] { name });
}
public void save(Role role) {
String sql = "INSERT INTO roles(name , describes)VALUES(? ,?)";
JdbcUtils.insertWithoutReturnId(sql, new Object[] { role.getName(), role.getDescribes() });
}
public void update(Role role) {
String sql = "update roles set describes = ? where name = ? ";
JdbcUtils.execute(sql, new Object[] { role.getDescribes(), role.getName() });
}
public void deleteRoel(String name) {
JdbcUtils.execute("delete from roles_permissions where role_name = ?", new Object[] { name });
JdbcUtils.execute("delete from roles where name = ?", new Object[] { name });
}
private Boolean hasRole(String rolename, String username) {
String sql = "SELECT count(*) as sum FROM user_roles where role_name = ? and username = ? ";
int size = JdbcUtils.count(sql, new Object[] { rolename, username });
if (size > 0) {
return true;
} else {
return false;
}
}
public List findByUsername(String username) {
List list = findAll();
for (Role role : list) {
role.setChecked(hasRole(role.getName(), username));
}
return list;
}
public void addUserRole(String username, String rolename) {
String sql = "INSERT INTO user_roles(role_name,username) VALUES(?,?) ";
JdbcUtils.execute(sql, new Object[] { rolename, username });
}
public void deleteUserRole(String username, String rolename) {
String sql = "DELETE FROM user_roles where role_name = ? and username = ?";
JdbcUtils.execute(sql, new Object[] { rolename, username });
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy