Mybatis通過工具類根據用戶名查找用戶列表


抽取SqlSessionFactoryUtils工具類,共享SqlSessionFactory創建過程

 

/**
 * SqlSessionFactory工具類
 * @author:Mr.Tan
 * @Create:2018-10-30-23-14
 **/
public class SqlSessionFactoryUtils {
    private static  SqlSessionFactory sqlSessionFactor;

    static {
        try {
            //創建SqlSessionFactoryBuilder對象
            SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
            //創建核心配置文件的輸入流
            InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
            //通過輸入流創建SqlSessionFactor對象
            sqlSessionFactor=ssfb.build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    /**
     * 獲取SqlSessionFactory
     * @return
     */
    public static SqlSessionFactory getSqlSessionFactor() {
        return sqlSessionFactor;
    }

    public static void setSqlSessionFactor(SqlSessionFactory sqlSessionFactor) {
        SqlSessionFactoryUtils.sqlSessionFactor = sqlSessionFactor;
    }
}

 

根據用戶ID查詢用戶信息

 

修改  映射文件與sql

<!--#{}相當於jdbc的?-->
<!--${}:字符串拼接指令,如果入參為普通數據類型{}內部職能寫value-->
<!--如果返回結果為集合時,只需設置為每一個的數據類型-->
    <select id="getUserByUserName" parameterType="String" resultType="com.tanlei.newer.pojo.User">
       <!--SELECT id,username,birthday,sex,address FROM user WHERE username LIKE #{name}-->
        SELECT id,username,birthday,sex,address FROM user WHERE username LIKE '%${value}%'
   </select>
@Test
    public void  testGetUserByUserName(){
        //獲取SqlSessionFactory
        SqlSessionFactory  sqlSessionFactor= SqlSessionFactoryUtils.getSqlSessionFactor();
        //創建sqlSession對象
        SqlSession sqlSession=sqlSessionFactor.openSession();
       // List<User> list=sqlSession.selectList("user.getUserByUserName","%張%");
        List<User> list=sqlSession.selectList("user.getUserByUserName","");
        for(User user:list){
            System.out.println(user);
        }
        //釋放資源
        sqlSession.close();
    }

  


免責聲明!

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



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