
正文
Illegal modifier for parameter userMapper; only final is permitted
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
报错的原因是
package com.chen.service.impl; import java.io.IOException;
import java.io.InputStream; import org.apache.catalina.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.chen.mapper.UserMapper;
import com.chen.service.UserService; public class UserServiceImpl implements UserService{ //声明mapper变量
private UserMapper userMapper;//这行代码如果要加private修饰的话,就不能放在下面的代码中
public User userLoginService(String uname, String pwd) throws IOException { //获取sqlsession对象
/* InputStream is = Resources.getResourceAsStream("MyBatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession ss = factory.openSession();
//获取Mapper接口实例化对象
UserMapper um=ss.getMapper(UserMapper.class);*/
//当我们在applicationcontext中配置好mybatis后,就不用再像上面一样进行方法调用,获取实例化对象 //获取spring容器对象
/* ApplicationContext ac=new ClassPathXmlApplicationContext("applicationcontext.xml");
UserMapper um = (UserMapper) ac.getBean("userMapper");//mapper实例化接口的类名首字母小写即是Bean id
已经在servlet获取过一次spring容器对象了,所以我们没必要再获取一次
*/
//操作数据库
return (User) userMapper.selUser(uname, pwd);
} }
在java语法里,方法的形参以及方法体中的变量都是局部变量,不能使用访问权限修饰符public,private,protected。把Reader()方法里的所有访问权限修饰符private删除或换成final就可以。








