mybatis 排除非表字段_MyBatis入门程序

42dbb16ea5b289aad848c34e54c1fdbe.png

查询客户

在实际开发中,查询操作通常都会涉及单条数据的精确查询,以及多条数据的模糊查询。那么使用MyBatis框架是如何进行这两种查询的呢?接下来,本小节将讲解下如何使用MyBatis框架根据客户编号查询客户信息,以及根据客户名模糊查询客户信息。

1.根据客户编号查询客户信息

根据客户编号查询客户信息主要是通过查询客户表中的主键(这里表示唯一的客户编号)来实现的,其具体实现步骤如下。

(1)在MySQL数据库中,创建一个名为mybatis的数据库,在此数据库中创建一个t_customer表,同时预先插入几条数据。此操作所执行的SQL语句如下所示。

5f92bdef0da0890520a3664bb6de0cae.png

完成上述操作后,数据库t_customer表中的数据如图6-5所示。

7804def9b6d41000688b1ce71dd58eba.png

(2)在Eclipse中,创建一个名为chapter06的Web项目,将MyBatis的核心JAR包、lib目录中的依赖JAR包,以及MySQL数据库的驱动JAR包一同添加到项目的lib目录下,并发布到类路径中。添加后的lib目录如图6-6所示。

90f558f618c40f0fbf8c23f4ef2e435d.png

(3)在src目录下,创建一个com.itheima.po包,在该包下创建持久化类Customer,并在类中声明id、username、jobs和phone属性,及其对应的getter/setter方法,如文件6-2所示。

1f118106d6928c562d5aac7d3cb87763.png
c8e3af115d2be188564facc890a62d79.png

从上述代码可以看出,持久化类Customer与普通的JavaBean并没有什么区别,只是其属性字段与数据库中的表字段相对应。实际上,Customer就是一个POJO(普通Java对象), MyBatis就是采用POJO作为持久化类来完成对数据库操作的。

(4)在src目录下,创建一个com.itheima.mapper包,并在包中创建映射文件CustomerMapper. xml,编辑后如文件6-3所示。

10ff83517db88b8f5c018add8f8bacbc.png

在文件6-3中,第2~3行是MyBatis的约束配置,第5~11行是需要程序员编写的映射信息。其中,元素是配置文件的根元素,它包含一个namespace属性,该属性为这个指定了唯一的命名空间,通常会设置成“包名+SQL映射文件名”的形式。子元素中的信息是用于执行查询操作的配置,其id属性是元素在映射文件中的唯一标识;parameterType属性用于指定传入参数的类型,这里表示传递给执行SQL的是一个Integer类型的参数;resultType属性用于指定返回结果的类型,这里表示返回的数据是Customer类型。在定义的查询SQL语句中,“#{}”用于表示一个占位符,相当于“? ”,而“#{id}”表示该占位符待接收参数的名称为id。

(5)在src目录下,创建MyBatis的核心配置文件mybatis-config.xml,编辑后如文件6-4所示。

ae48c82d0ea51ffd788d33b8cd0f16e8.png

在文件6-3中,第2~3行是MyBatis的配置文件的约束信息,下面元素中的内容就是开发人员需要编写的配置信息。这里按照子元素的功能不同,将配置分为了两个步骤:第1步配置了环境,第2步配置了Mapper的位置。关于上述代码中各个元素的详细配置信息将在下一章进行详细讲解,此案例中读者只需要按照上述代码配置即可。

(6)在src目录下,创建一个com.itheima.test包,在该包下创建测试类MybatisTest,并在类中编写测试方法findCustomerByIdTest(),如文件6-5所示。

329dfe9303ea84888b718346a60ab3de.png

在文件6-5的findCustomerByIdTest()方法中,首先通过输入流读取了配置文件,然后根据配置文件构建了SqlSessionFactory对象。接下来通过SqlSessionFactory对象又创建了SqlSession对象,并通过SqlSession对象的selectOne()方法执行查询操作。selectOne()方法的第1个参数表示映射SQL的标识字符串,它由CustomerMapper.xml中元素的namespace属性值+元素的id属性值组成;第2个参数表示查询所需要的参数,这里查询的是客户表中id为1的客户。为了查看查询结果,这里使用了输出语句输出查询结果信息。最后,程序执行完毕时,关闭了SqlSession。

使用JUnit4测试执行findCustomerByIdTest()方法后,控制台的输出结果如图6-9所示。

66981b04211dd6f5ba6cb889b54b761f.png

从图6-9可以看出,使用MyBatis框架已经成功查询出了id为1的客户信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值