SSM项目集成mybatis出错,哪位大佬帮帮忙

网上说的namespace 和接口名相同我都看了没什么问题

接口

 import com.sztaiji.entity.User;

public interface UserDAO {
    public User findByUsername(String username);
    public void save(User user);
}

实现类


import javax.annotation.Resource;

import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Repository;

import com.sztaiji.entity.User;
@Repository("userDAO")
public class UserDAOImpl implements UserDAO {
    @Resource(name="sst")
    private SqlSessionTemplate sst;

    public User findByUsername(String username) {


        return sst.selectOne("com.sztaiji.dao.findByUsername", username);
    }

    public void save(User user) {
        sst.insert("com.sztaiji.dao.save", user);
    }

}

映射文件

 <?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
 <mapper namespace="com.sztaiji.dao.UserDAO">
    <insert id="save" parameterType="com.sztaiji.entity.User">
        insert into tb_user(username,pwd,name) values(#{username},#{pwd},#{name})
    </insert>

    <select id=" findByUsername" parameterType="String" resultType="com.sztaiji.entity.User">
        select * from tb_user where username=#{username}
    </select>
 </mapper>

图片说明

不是不用写dao的实现类啊, 直接写一个dao的接口就行了,然后直接去对应xml的id了么

1、mapper.xml中没有加入namespace
2、mapper.xml中的方法和接口mapper的方法不对应
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外
4、mapper.xml文件名和所写的mapper名称不相同。

你看看

你的映射文件中,findByUsername前面多了一个空格

图片说明


select * from tb_user where username=#{username}

第一种是改成这样

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <!-- 加载mybatis.cfg.xml文件 -->
    <property name="configLocation" value="classpath:mybatis.cfg.xml"></property>
    <!-- 自动扫描需要定义类别名的包,将包内的JAVA类的类名作为类别名 -->
    <property name="typeAliasesPackage" value="com.demo.beans"></property>
    <property name="mapperLocations">
        <list>
            <value>classpath:mybatis/*/*Mapper.xml</value>
        </list>
    </property>
</bean>
这个配了吗?

classpath:mybatis/*/*Mapper.xml还有你的路径命名

参数类型要么写全java.lang.String,要么写string小写试试