图1
图2
代码如下
private RoleService roleService;
private AdminUserRoleService adminUserRoleService;
@Before
public void befor() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/spring-content.xml");
this.roleService = applicationContext.getBean(RoleService.class);
this.adminUserRoleService = applicationContext.getBean(AdminUserRoleService.class);
}
@Test
public void test() {
List<AdminUserRole> adminUserRoleList =
adminUserRoleService.queryByField("role_id",""+19);
System.out.println(adminUserRoleList.size());
}
映射文件
<select id="queryByField" resultMap="adminUserRole" >
SELECT *
FROM wady_admin_user_role
WHERE #{0} = #{1}
</select>
求解疑惑,为什么SQL能在MySql里面查询,java里面就查不出来
——补充——
<select id="queryByField" resultMap="adminUserRole" >
SELECT
<include refid="Base_Column_List" />
FROM wady_admin_user_role
WHERE #{0} =19
</select>
<select id="queryByField" resultMap="adminUserRole" >
SELECT
<include refid="Base_Column_List" />
FROM wady_admin_user_role
WHERE role_id =#{1}
</select>
问题应该是, Mybatis的SQL语句查询的列为什么不能通过传入参数代替
找到Dao层 该方法通过注解可以实现
List<T> queryByField((@Param("fieldName")String fieldName,(@Param("fieldValue")String
fieldValue);
还有更简单方便快捷的,欢迎回复,修改答案