求大神们帮忙看看错误在哪,已经找了一上午了。。不知道beans.xml到底哪里错了
UserDao:
@Repository public interface UserDao { public List<User> selectUser(); }
UserDaoImpl:
public class UserDaoImpl implements UserDao { private SqlSessionTemplate sqlSession; public void setSqlSession(SqlSessionTemplate sqlSession) { this.sqlSession = sqlSession; } @Override public List<User> selectUser() { return sqlSession.selectList("com.entity.user.mapper.selectAll"); } }
user.mapper.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.entity.user.mapper"> <select id="selectAll" resultType="com.entity.User"> select * from user </select>
test:
public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); UserDao userDao = (UserDao)context.getBean("userDao"); System.out.println(userDao.selectUser().size()); } }
beans.xml:
<!--配置SqlSessionFactory对象--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--绑定mybatis配置文件--> <property name="configLocation" value="classpath:mybatis-config.xml"/> <!-- <property name="mapperLocations" value="classpath:com/entity/user.mapper.xml"/>--> </bean> <bean id="SqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg> </bean> <bean id="userDao" class="com.dao.impl.UserDaoImpl"> <property name="sqlSession" ref="SqlSessionTemplate"></property> </bean>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <package name="com.entity" /> </typeAliases> </configuration>
我不会