为了账号安全,请及时绑定邮箱和手机立即绑定

springmvc写的注册登陆系统,注册可以,登陆的时候报NO DataSource

springmvc写的注册登陆系统,注册可以,登陆的时候报NO DataSource

慕容森 2019-04-18 14:15:17
新手,刚学习springmvc,尝试写一个简单的注册登陆系统,发现登陆一直报错,麻烦各位大佬帮一下忙看一下,感激不尽。JDBCOperater.javapackage main.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; public class JDBCOperater extends NamedParameterJdbcDaoSupport {     @Autowired     JdbcTemplate jdbcTemplate=new JdbcTemplate();     public void insertNamedParameter(User user){         String sql="INSERT INTO user_t(name,password)"                 +"VALUES(:name,:password)";         Map<String,Object> parameters=new HashMap<String,Object>();         parameters.put("name",user.getName());         parameters.put("password",user.getPassword());         getNamedParameterJdbcTemplate().update(sql,parameters);     }           public int getMatchCode(String Name,String Password){         String sql="SELECT count(*) from user_t where name=? and password=?";         return  jdbcTemplate.queryForObject(sql,new Object[]{Name,Password},Integer.class);     }     public User findUserByUserName(final String Name){         String sql="SELECT name,password from user_t where name=?";         final User user=new User();         jdbcTemplate.query(sql, new Object[]{Name}, new RowCallbackHandler() {             @Override             public void processRow(ResultSet resultSet) throws SQLException {                 user.setName(Name);                 user.setPassword(resultSet.getString("name"));             }         });         return user;     }     public boolean hasMatchUser(String Name,String Password){         int matchCount=getMatchCode(Name,Password);         System.out.println(matchCount);         if (matchCount>0){             return true;         }else {             return false;         }     } }
查看完整描述

5 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

"SELECT name,password from spring where name

表名叫spring?


查看完整回答
反对 回复 2019-05-16
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

做一下修改:
第一步:
<bean id="user" class="main.User.JDBCOperater">
    <property name="JdbcTemplate" ref="JdbcTemplate"/>
    </bean>
<bean id="login" class="main.User.JDBCOperater">
    <property name="JdbcTemplate" ref="JdbcTemplate"/>
</bean>

第二步:
public class JDBCOperater extends NamedParameterJdbcDaoSupport {
    private JdbcTemplate jdbcTemplate;(提供set/get方法)

注:JDBCOperater实例对象的创建如果是spring提供就没问题。

如果你自己new JDBCOperater(),你需要
JDBCOperater JDBCOperater = new JDBCOperater();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);


查看完整回答
反对 回复 2019-05-16
?
慕森王

TA贡献1777条经验 获得超3个赞

所有JdbcTemplate jdbcTemplate=new JdbcTemplate();
改为

@Autowired
JdbcTemplate jdbcTemplate;

JDBCOperater 类上面加一行
@Component


查看完整回答
反对 回复 2019-05-16
?
慕斯709654

TA贡献1840条经验 获得超5个赞

JdbcTemplate jdbcTemplate=new JdbcTemplate(); 里面要传入DataSource 对象.


查看完整回答
反对 回复 2019-05-16
  • 5 回答
  • 0 关注
  • 982 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信