第一步建连接:就是一java连接就行
第二步是建立一个类这类的与数据库字段对象用于java的面向对象importjavautilDate;
//存放数据的javabean,属性和表中的字段是一一对应的publicclassUser{
privateintuserid;
privateStringusername;
privateStringpassword;
privateDatelogintime;
publicUser(){
}
publicvoidsetUserid(intuserid){
thisuserid=userid;
}
publicvoidsetUsername(Stringusername){
thisusername=username;
}
publicvoidsetPassword(Stringpassword){
thispassword=password;
}
publicvoid(Datelogintime){
thislogintime=logintime;
}
publicintgetUserid(){
returnuserid;
}
publicStringgetUsername(){
returnusername;
}
publicStringgetPassword(){
returnpassword;
}
publicDate(){
returnlogintime;
}}
第三步是建立一个SQL访问类:importjavasql;importjavautil;publicclassUserDAO{
//按条件查找多条记录
publicListfindAll(Stringfilter){
Connectionconn=Db();
Listdatas=newArrayList();
if(filter!=null){
filter="where"filter;
}else{
filter="";
}
try{
ps=conn(
"selectfromusertb"filter);
ResultSetrs=ps();
while(rsnext()){
Useruser=newUser();
usersetUserid(rsgetInt(1));
usersetUsername(rsgetString(2));
usersetPassword(rsgetString(3));
user(rsgetDate(4));
datasadd(user);
}
}catch(ex){
ex();
}finally{
DbcloseConn(conn);
}
returndatas;
}}第四步是这在jsp上用来访问SQL访问类调用方法获取数据
@Component
public class ShiroDbRealm extends AuthorizingRealm{
@Autowired
private UserService userService;
/
认证回调函数,登录时调用
/
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
User user = userServicefindUserByLoginName(tokengetUsername());
if (user != null) {
return new SimpleAuthenticationInfo(usergetUsername(), usergetPassword(), getName());
} else {
return null;
}
}
/
授权查询回调函数, 进行鉴权但缓存中无用户的授权信息时调用
/
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
String loginName = (String) principalsfromRealm(getName())iterator()next();
User user = userServicefindUserByLoginName(loginName);
if (user != null) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
infoaddRoles(usergetRoleNameList());
for (Role role : usergetRoleList()) {
infoaddStringPermissions(rolegetPermissionNameList());
}
return info;
} else {
return null;
}
}
/
更新用户授权信息缓存
/
public void clearCachedAuthorizationInfo(String principal) {
SimplePrincipalCollection principals = new SimplePrincipalCollection(principal, getName());
clearCachedAuthorizationInfo(principals);
}
/
清除所有用户授权信息缓存
/
public void clearAllCachedAuthorizationInfo() {
Cache<Object, AuthorizationInfo> cache = getAuthorizationCache();
if (cache != null) {
for (Object key : cachekeys()) {
cacheremove(key);
}
}
}
}
以上就是关于在SQL中如何访问类调用方法获取数据全部的内容,包括:在SQL中如何访问类调用方法获取数据、如何从jdbcrealm获取角色信息、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)