您现在的位置是: 首页 > 科技

框架学习系列 mybatis 第四篇 mybatis入门程序之需求开发1

时间:2017-07-13 23:53:40 来源:jiduu.com

本节主要内容

1:根据上节课中提出的需求完成①:根据用户id查询用户信息(#{}的使用)

2:代码实现

3:总结&下节预告

本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中第四篇 mybatis入门程序之需求开发1根据id进行精确查找.

一:根据用户id查询用户信息

1:在config目录下,创建userMapper.xml文件(这种命名规范是由ibatis遗留下来的)

userMapper.xml中内容:

说明:

namespace:命名空间。作业:其实就是对sql语句也就是statement进行分类管理。如果我们java中报名作用一样。同一个命名空间下,id只能是唯一的。不能重复。在不同命名空间下,id可以相同。

另:在mapper代理时候,有具体特殊及重要的作用。

: 表示一个mappedStatementduix .执行那种操作。select执行的是查询操作

id:statement的唯一标示。一般和namespace命名空间联合使用确定整个项目中该sql语句是唯一的

#{}:表示一个占位符.就是jdbc连接中的?占位符一样的

#{id}:里面的id表示输入参数的名称。如果该参数是简单类型的。那么#{}里面的参数名称可以任意写

parameteType:输入参数的Java类型。可以是基本类型、对象类型、map类型等

resultType:输出结果所映射的java类型(也就是单条结果所以对应的java类型)。在本例中我们通过id查询后的结果对象就userpojo对象。所以就是pojo.user了。

完整代码:

<?xml>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

2:将创建的userMapper.xml文件添加到mybatis的全局配置文件中进行管理。

如下图:

二:测试代码开发

开发步骤:

回忆mybatis的执行步骤

1:获取全局的配置文件

2:根据配置文件信息创建sqlsessionFactory对象

3:有sqlsessionFactory对象获取到sqlsession对象

4:调用sqlsession对象的执行方法进行数据库操作

5:根据输入参数(类型)、sql语句得到对应的返回数据

所以根据上面步骤我们可以写出如下代码:

3.1:设置读取配置文件

3.2:使用流读取

3.3:创建sqlsessionFactory对象

3.4:由sessionfactroy对象获取到sqlsession对象

3.5://5:调用sqlsessiond 增删改查方法

说明:

第一参数:需要执行的sql语句唯一标示。命名空间+语句id

第二个参数:就是占位符?需要传递的值

3.6:关闭资源

完整代码:

代码如下:

public class TestUser {

/**

*测试根据id进行查询

*@throws Exception

*/

@Test

public void findUserByIdTest() throws Exception{

//1:设置读取配置文件。全局配置文件的路径

String resourcePath = "SqlMapConfig.xml";

//2:使用流读取

InputStream inputStream = Resources.getResourceAsStream(resourcePath);

//3:创建sqlsessionFactory对象

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

//4:由sessionfactroy对象获取到sqlsession对象

SqlSession sqlSession = sqlSessionFactory.openSession();

//5:调用sqlsessiond 增删改查方法

//第一个参数:statement的唯一标示。

User user = sqlSession.selectOne("test.findUserById",1);

System.out.println(user==null?new User():user.toString());

//6:关闭资源

sqlSession.close();

}

}

使用junit运行后:

绿色表示成功。执行后结果:

查看数据库中id为1的用户信息:

说明测试代码正确!

三:总结&下节预告

通过本文学习我们需要掌握的

1:userMapper.xml中配置怎么写以及各个参数分别表示什么

namespace、select、id、parameterType、resultType分别代表什么意思

2:mybatis的执行顺序(执行流程)

3:mybatis测试代码开发的步骤

4:#{}的用户

下节预告:

完成了根据id进行精确查找后,下面我们接着学习根据name进行模糊查询。以及${}的用法欢迎学习下一篇《框架学习系列 mybatis 第五篇 mybatis入门程序之需求开发2根据用户名模糊查询》

框架学习系列 mybatis 第二篇 mybatis的工作原理

框架学习系列 mybatis 第三篇 mybatis入门程序之工程项目的搭建

热门文章

关于我们| 联系我们| 投稿合作| 法律声明| 返回顶部

版权所有 ©2015-2017 极度网 闽ICP备11013817号-1

(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();