Spring Mybatis配置动态SqlSessionFactory
SqlMap-Config.xml
<configuration>
<mappers>
<mapper resource="/sqlMap/User.xml"/>
</mappers>
</configuration>
User.xml
<mapper namespace="cn.com.sjb.pss.business.entity.User">
<resultMap id="user" type="cn.com.sjb.pss.business.entity.User">
<result property="User_ID" column="User_ID"></result>
<result property="User_Name" column="User_Name"></result>
</resultMap>
<select id="findUserID" resultMap="user" parameterType="String">
select
User_ID as "User_ID",
User_Name as "User_Name"
from UserMaster_Table U where U.User_ID = #{User_ID}
</select>
</mapper>
User
public class User { // 用户
private String User_ID; // 员工ID
private String User_Name; // 员工名称
public String getUser_ID() {
return User_ID;
}
public void setUser_ID(String user_ID) {
User_ID = user_ID;
}
public String getUser_Name() {
return User_Name;
}
public void setUser_Name(String user_Name) {
User_Name = user_Name;
}
}
java:
BasicDataSource dataSource=new BasicDataSource();
dataSource.setDriverClassName("..");
dataSource.setUrl("..");
dataSource.setUsername("..");
dataSource.setPassword("..");
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(User.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
SqlSession sqlSession=sqlSessionFactory.openSession();
sqlSession.selectOne("cn.com.sjb.pss.business.entity.User.findUserID", User_ID);
报错
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for cn.com.sjb.pss.business.entity.User.findUserID