2013-08-12 1 views
1

Я пишу простое приложение CRUD (я использую JSF 2.0 и mybatis3 в базе данных оракула), и до сих пор я обнаружил ошибку при отображении данных (в а) что я спросил. Я знаю, что это действительно грязно, но мне бы хотелось, чтобы некоторые советы о том, что я делаю неправильно. Благодаря !Интеграция Mybatis и JSF 2.0, ошибка при загрузке данных в список

EDIT 1: Я также сделал простой проект Java и опробованы функции, чтобы увидеть, если они retunr что-нибудь или нет, и это работало правильно ...

РЕДАКТИРОВАТЬ 2: Вход здесь, без ошибок Тхо http://pastebin.com/gYyqBX7W

Вот часть из UserMapper.xml:

<resultMap id="result" type="User"> 
    <result property="username" column="USER_ID" /> 
    <result property="userDescription" column="USER_DESC" /> 
    <result property="password" column="USER_PWD" /> 
</resultMap> 

<select id="getAllUsers" resultMap="result"> 
SELECT USER_ID as username, USER_DESC as userDescription, 
    USER_PWD as password FROM SSLS_GUI.USERS 
</select> 

файл UserMapper.java:

package com.mybatis.mappers; 
import java.util.List; 
import com.optsol.beans.User; 

public interface UserMapper { 

public List<User> getAllUsers(); 

} 

часть из UserService.java что intrests меня:

@ManagedBean(name = "userServices") 
public class UserService { 
public List<User> getAllUsers() { 
    SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory() 
      .openSession(); 
    try { 
     UserMapper userMapper = sqlSession.getMapper(UserMapper.class); 
     return userMapper.getAllUsers(); 
    } finally { 
     sqlSession.close(); 
    } 
} 

MyBatisUtil.java файл, в котором я получаю экземпляр фабрики из:

package com.mybatis.service; 

import java.io.IOException; 
import java.io.Reader; 

import org.apache.ibatis.io.Resources; 
import org.apache.ibatis.session.SqlSessionFactory; 
import org.apache.ibatis.session.SqlSessionFactoryBuilder; 

public class MyBatisUtil { 
private static SqlSessionFactory factory; 

private MyBatisUtil() { 
} 

    static { 
    String resource = "com/mybatis/config/mybatis-config.xml"; 
    Reader reader = null; 
    try { 

     reader = Resources.getResourceAsReader(resource); 
    } catch (IOException e) { 
     throw new RuntimeException(e.getMessage()); 
    } 
    factory = new SqlSessionFactoryBuilder().build(reader); 
} 

    public static SqlSessionFactory getSqlSessionFactory() { 
    return factory; 
} 
} 

The User.java (без гетры и сеттеры):

package com.optsol.beans; 

import javax.faces.bean.ManagedBean; 
@ManagedBean(name = "user") 
public class User { 

    private String username; 
    private String userDescription; 
    private String password; 
} 

Index.xh tml, где я пытаюсь отобразить данные из базы данных:

<h:dataTable value="#{userService.getAllUsers}" var="u"> 
    <h:column> 
     <f:facet name="header"> 
       USERNAME 
      </f:facet> 
       #{u.username} 
     </h:column> 

    <h:column> 
     <f:facet name="header"> 
       USER DESCRIPTION 
      </f:facet> 
       #{u.userDescription} 
     </h:column> 
       <h:column> 
     <f:facet name="header"> 
       PASSWORD(HASHED) 
      </f:facet> 
       #{u.password} 
     </h:column> 
</h:dataTable> 
+0

Можете ли вы предоставить трассировку стека исключения? –

+0

@PaulVargas http://pastebin.com/gYyqBX7W Мне пришлось положить его на пастабин. но я действительно не думаю, что я поймал что-то там, что дает информацию об ошибке ... :( – Teor

ответ

0

Имя свойства не совпадает с названием столбцов.

<resultMap id="result" type="User"> 
    <result property="username" column="USER_ID" /> 
    <result property="userDescription" column="USER_DESC" /> 
    <result property="password" column="USER_PWD" /> 
</resultMap> 

Удалить псевдоним в SQL.

<select id="getAllUsers" resultMap="result"> 
    SELECT USER_ID, 
      USER_DESC, 
      USER_PWD 
     FROM SSLS_GUI.USERS 
</select> 

 Смежные вопросы

  • Нет связанных вопросов^_^