好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MyBatis不封装对象获取数据库值的解决方案

MyBatis 不封装对象获取数据库值的解决方案 思路:如果我们不想封装对象,使用 Map 来获得 SQL 查询的结果集是一个理想的方案。下面就是一个实现类示例。 List Map String , String listMap = ( List Map String , String ) this.getSqlMapClientTemplate().

MyBatis 不封装对象获取数据库值的解决方案
思路:如果我们不想封装对象,使用 Map 来获得 SQL 查询的结果集是一个理想的方案。下面就是一个实现类示例。

  List  Map  String ,  String >> listMap = ( List  Map  String ,  String >>) this.getSqlMapClientTemplate().queryForList( "writingEssay.queryAssignmentErrorAndReminderByAssId" , assignment_id);
 String  context = getEssayContextByJson(listMap.get( 0 ).get( "assignment_history_content" ), listMap.get( 0 ).get( "essay_set_format" ));  

我们再来看看底层的 SQL 语句。

      
     "queryAssignmentErrorAndReminderByAssId"  resultClass= "java.util.HashMap"  parameterClass= "java.lang.Integer" >
        SELECT
            a .assignment _history_content AS assignment_history_content,
            c .essay _set_format AS essay_set_format,
            d .essay _reminder AS essay_reminder
        FROM
            t_assignment_content a,
            t_assignment b,
            t_essay_set c,
            t_essay d
        WHERE
            b .assignment _history_id = a .assignment _history_id
         AND  b .assignment _id = $assignment_id$
         AND  b .essay _id = d .essay _id
         AND  d .essay _set_id = c .essay _set_id ; 
        

查询数据库得到的结果集。

分析:因为我们明确地知道结果集返回一条数据。

下面的知识点和本小节无关。

          if  (StringUtils.isNotEmpty(reminder)) {
             for  (String  str  : reminder.split( "#" )) {
                 int  flag = context.indexOf( str );
                 if  (flag == - 1 ) {
                    mapReminder.put( str ,  false );
                }  else  {
                    mapReminder.put( str ,  true );
                }
            }
        }  

查看更多关于MyBatis不封装对象获取数据库值的解决方案的详细内容...

  阅读:36次