首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

二.MyBatis框架与试用

Mybatis是一个持久层框架,是apache的顶级项目;它让程序员将主要精力放在sql逻辑上而不是和数据库的交互上;通过映射的方式自由灵活的生成(半自动)满足条件的sql语句,并能通过输出映射将结果集映射成java对象。

在了解mybatis架构后,就可以开始使用了

环境

Java开发环境,eclipse

数据库环境mysql,需要mysql的驱动包也导入到工程

Mybatis环境(jar包):下载:https://github.com/mybatis/mybatis-3/releases

核心包和lib目录下依赖包都需要导入到工程,从依赖包中可以看到mybatis使用到了log4j,所以我们需要在工程中配置log4j.properties这个文件,文件的内容如下:

工程结构

首先编辑全局配置文件SqlMapConfig.xml内容如下:

这里需要注意的是,如果需要xml文件在编辑的时候自动提示属性,需要加载DTD。然后用eclipse的xml编辑器打开,再在源里面编辑即可。后面自动双击打开xml文件就会有自动属性填充。

测试程序单条结果集

现在来看下我们需要实现的功能,根据用户编号查询用户记录。需要创建一个映射文件,然后在映射文件中配置sql语句,这里我们在sqlmap目录下创建映射文件:Cust.xml(这里需要注意,如果使用代理开发方式,映射文件需要命名为xxxMapper.xml,这里先使用原始的ibatis方式来测试)。Cust.xml内容如下:

其中输出类型映射成的java对象类型,需要定义一个java对象类接收,这个java类中属性必须与数据库表中字段一致(大小写不敏感)。Po中cust定义如下:

在全局配置文件SqlMapConfig.xml文件中配置价值mapper文件,内容如下:

以上配置完成后,就可以写程序来测试验证了。这里使用到了junit进项实验。把junit-4.10.jar导入到工程即可。测试代码如下:

从运行结果可以看到使用mybatis有成功实现我们需要的功能

多条结果集

接下来,试下实现一个多条结果集返回的功能,使用客户名称模糊查询客户记录。

在Cust.xml中新增内容,这里面需要注意,resultType即使是返回多条记录,它含义是上仍然是单条记录的结果映射;另外,使用${ }拼接符号简单类型时,变量名称只能用value,复杂的类型菜可以使用pojo

测试代码如下:

执行结果如下,而且语句没有出现占位符。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180124G0Y0O500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券