抽取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();
}

  

Mybatis通过工具类根据用户名查找用户列表的更多相关文章

  1. Mybatis(二)入门程序-通过id查找用户、模糊查找用户、添加用户、删除用户

    根据下图myBatis的架构,创建一个使用MyBatis的工程.       一.配置MyBatis 环境(如图) 1.sqlMapConfig.xml 首先,导入jar包(上图右边)并加载路径,然后 ...

  2. (3).mybatis编写工具类

    编写工具类 复用与重构 复用:使用方法与函数,复用的类,构成JAR包.(工具类属于复用) 一.创建工具类(一般在src下创建util包,在util包下创建工具类). 例如:MybatisUtilds为 ...

  3. java工具类学习,系统中用户密码加密总结

    现在项目,用户注册登录部分很少有涉及到了,原因:现在热门开发框架都已经在底层帮我们做了一套用户注册,密码加密,登录认证,权限控制,缓存数据等基本功能. 这有利于项目的快速完成,只需要搬砖码畜们专注于业 ...

  4. MyBatis工厂工具类 MyBatisUtils

    import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apach ...

  5. [工具类]获取url中参数列表

    写在前面 在项目中经常用到解析url中参数的逻辑,今天先下载就自己封装了一个方法,方便以后使用的时候,信手拈来.当然这里给出的方法是针对常见的url参数类型的,对于重写url,或者路由格式的不考虑. ...

  6. Colletions工具类常用方法

    Collections 工具类常用方法: 排序 查找,替换操作 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合 排序操作 void reverse(List list)/ ...

  7. Collections 工具类和 Arrays 工具类常见方法

    Collections Collections 工具类常用方法: 排序 查找,替换操作 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 void revers ...

  8. Collections 工具类常见方法

    Collections 工具类常用方法: 排序 查找,替换操作 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 void reverse(List list) ...

  9. mybatis的基本配置:实体类、配置文件、映射文件、工具类 、mapper接口

    搭建项目 一:lib(关于框架的jar包和数据库驱动的jar包) 1,第一步:先把mybatis的核心类库放进lib里

随机推荐

  1. 入门servlet:request获取请求参数通用方式

    一.获取请求参数通用方式 1. String getParameter(String name):根据参数名称获取参数值 例:username=flypig&password=2343 2. ...

  2. Redis源码解析:21sentinel(二)定期发送消息、检测主观下线

    六:定时发送消息 哨兵每隔一段时间,会向其所监控的所有实例发送一些命令,用于获取这些实例的状态.这些命令包括:"PING"."INFO"和"PUBLI ...

  3. 整理Mysql无法创建外键的原因

    在MySQL中创建外键时,经常会遇到问题而失败,这是因为mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1.  两个字段的类型或者大小不严格匹配.例如,如果一个 ...

  4. 标记扩展和 WPF XAML

      本主题介绍 XAML 的标记扩展概念,包括其语法规则.用途以及底层的类对象模型. 标记扩展是 XAML 语言以及 XAML 服务的 .NET 实现的常规功能. 本主题专门详细论述了用于 WPF X ...

  5. Prime Ring Problem HDU - 1016 (dfs)

    Prime Ring Problem HDU - 1016 A ring is compose of n circles as shown in diagram. Put natural number ...

  6. java的boolean和Boolean

    boolean是基本数据类型Boolean是它的封装类,和其他类一样,有属性有方法,可以new,例如: Boolean bl= new Boolean("true"); // bo ...

  7. 实体类No default constructor found 找不到默认构造函数;

    root cause org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [c ...

  8. python基础--socket套接字、粘包问题

    本地回环地址:127.0.0.1 简易版服务端: import socket ​ server = socket.socket() # 就比如买了一个手机 server.bind(("127 ...

  9. uva 11300 分金币(利用绝对值加和进行求出最小值)

    //qq 767039957 welcome #include<cstdio> #include<algorithm> #include<vector> #incl ...

  10. 集训队日常训练20180513-DIV1

    A.3132 给一个有向图,问能否从任意点出发都能进入一个环中. 深搜. #include<bits/stdc++.h> using namespace std; ; vector< ...