06Mybatis_入門程序——根據用戶的名字模糊查詢返回List集合


本篇論文講的是模糊查詢然后返回的是一個list集合。

這片文章的案例是基於上一篇文章的,所以主要修改兩處地方就可以了。

1.user.xml

2.Mybatis_first.java

 

user.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">
<!-- nanmespace:命名空間。 作用就是對sql進行分類話管理,理解Sal分離

注意:使用mapper代理方式,namespace有特殊重要的作用
-->

<mapper namespace="test">
    
    <!-- 根據id獲取用戶信息 -->
    <!-- 在映射文件中配置很多sql語句 -->
    <!-- 
    id:標識映射文件中的sql;
    將sql語句封裝到mappedStatement對象中,所以將id稱為statement的id;parmenterType:指定輸入的參數的類型,這里指定的int型
    #{}表示一個占位符號;
    #{id}:其中的id表示接收輸入的參數,參數名稱就是id,如果輸入參數就是簡單類型,#{}中的參數名可以任意,可以value或其它名稱
    resultType:指定的sql輸出結果的所映射的java對象類型,select指定resultType表示將單條記錄映射成的java對象;
    
     -->

    <!-- 根據用戶的名字模糊查詢
    resultType指的是單條記錄所映射的java類型,不管查詢的是多條還是單條
     -->
    <select id="findUserByUsername" parameterType="java.lang.String" 
            resultType="cn.itcast.mybatis.po.User">
       select * from user where username like '%${value}%' 
    </select>
   
</mapper>

 

Mybatis_first.java的代碼如下:

package cn.itcast.mybatis.first;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import cn.itcast.mybatis.po.User;

public class Mybatis_first {
    
    //會話工廠
    private SqlSessionFactory sqlSessionFactory;
    //這些事必備的,所以放在Before這里了
    @Before
    public void createsqlSessionFactory() throws IOException
    {
        //配置文件
        String resource="SqlMapConfig.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        //使用SqlSessionFactoryBuilder從配置文件中創建SqlSessionFactory.
        sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
    }
    @Test
//根據id查詢用戶的信息
    public void testFindUseById()
    {    //數據庫會話實例
        SqlSession sqlSession=null;
        try {
        
            //創建數據庫會話實例sqlSession;
            sqlSession=sqlSessionFactory.openSession();
            
        //    User user=sqlSession.selectOne("test.findUserById", 10);
            
            List<User> listuser=sqlSession.selectList("test.findUserByUsername", "小明");
            System.out.println("模糊查詢得到的員工數量是"+listuser.size());
            //System.out.println(user);
        } catch (Exception e) {
            
            e.printStackTrace();
        }
        finally{
            //如果sqlSession實例是創建的那么把他關閉掉
            if(sqlSession!=null)
            {sqlSession.close();
                
            }
            
            
            
        }
        
        
    }
    
    

     
    
    
    
    
}

運行的結果是:模糊查詢得到的員工數量是3

運行結果正確。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM