抽取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. 【转载】传统以太网和时间敏感网络TSN的区别

    转载连接:http://www.proav-china.com/News/16800.html ——Biamp亚太区高级工程师   Kane Zhang [专业视听网报道]:[摘要]AVB-Audio ...

  2. php5.3中namespace的说明,帮助初次接触namespace的phper快速理解

    命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀,但是方法名变的很长 ...

  3. git学习记录——远程仓库(说白了就是代码放到githup上)

    远程仓库 现在讲述的这些SVN都已经做到了,并没什么稀奇的地方 所以这节课赘述的是杀手级的东西——远程仓库githup ssh-keygen -t rsa  -C "xxxxxxxxxxx@ ...

  4. mybatis深入理解(三)-----MyBatis事务管理机制

    MyBatis作为Java语言的数据库框架,对数据库的事务管理是其非常重要的一个方面.本文将讲述MyBatis的事务管理的实现机制.首先介绍MyBatis的事务Transaction的接口设计以及其不 ...

  5. 关于 linux 的 limit 的设置

    以下内容参考链接 1.file-max系统最大打开文件描述符数 永久性:在/etc/sysctl.conf中设置 2.nr_open是单个进程可分配的最大文件数. 内核支持的最大file handle ...

  6. jq写tab切换

    $('.index-news-sub-box ul li').click(function(){ var i=$(this).index(); var img=$('.index-news-img-b ...

  7. 文本流向 layout-flow

    作用与语法 文本流向layout-flow用来定义网页中的文本流向方式. 即排列方式,主要有两个属性,分别是horizonta (水平的) 和vertical-ideographic (垂直的). 文 ...

  8. Spring事务_注解_特性

    Spring 是一个 IOC 和 AOP 容器框架. ## 控制反转(IOC) ## 传统的 java 开发模式中,当需要一个对象时,我们会自己使用 new 或者 getInstance 等直接或者间 ...

  9. 类的加载classload和类对象的生成

    在Java中最重要的可以说就是类的加载了.不论我们编写的功能多么复杂,或是多么简单,永远逃离不开的,就是将这个类从class文件加载到JVM中来. 类的加载过程 首先我们要了解一下类的加载过程,包括: ...

  10. NOIP模拟 7.01

    水灾(sliker.cpp/c/pas) 1000MS  64MB 大雨应经下了几天雨,却还是没有停的样子.土豪CCY刚从外地赚完1e元回来,知道不久除了自己别墅,其他的地方都将会被洪水淹没. CCY ...