猿问

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

新手,刚学习springmvc,尝试写一个简单的注册登陆系统,发现登陆一直报错,麻烦各位大佬帮一下忙看一下,感激不尽。
JDBCOperater.java

package 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;
        }
    }
}




慕容森
浏览 983回答 5
5回答

慕码人2483693

"SELECT name,password from spring where name表名叫spring?

蝴蝶刀刀

做一下修改: 第一步: <bean&nbsp;id="user"&nbsp;class="main.User.JDBCOperater"> &nbsp;&nbsp;&nbsp;&nbsp;<property&nbsp;name="JdbcTemplate"&nbsp;ref="JdbcTemplate"/> &nbsp;&nbsp;&nbsp;&nbsp;</bean> <bean&nbsp;id="login"&nbsp;class="main.User.JDBCOperater"> &nbsp;&nbsp;&nbsp;&nbsp;<property&nbsp;name="JdbcTemplate"&nbsp;ref="JdbcTemplate"/> </bean> 第二步: public&nbsp;class&nbsp;JDBCOperater&nbsp;extends&nbsp;NamedParameterJdbcDaoSupport&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;JdbcTemplate&nbsp;jdbcTemplate;(提供set/get方法) 注:JDBCOperater实例对象的创建如果是spring提供就没问题。 如果你自己new&nbsp;JDBCOperater(),你需要 JDBCOperater&nbsp;JDBCOperater&nbsp;=&nbsp;new&nbsp;JDBCOperater(); JdbcTemplate&nbsp;jdbcTemplate&nbsp;=&nbsp;new&nbsp;JdbcTemplate(dataSource);

慕森王

所有JdbcTemplate jdbcTemplate=new JdbcTemplate();改为@Autowired JdbcTemplate&nbsp;jdbcTemplate;JDBCOperater 类上面加一行@Component

慕斯709654

JdbcTemplate jdbcTemplate=new JdbcTemplate(); 里面要传入DataSource 对象.
随时随地看视频慕课网APP

相关分类

Java
我要回答