
6.4 使用Eclipse开发MyBatis入门程序
本节使用第5章中MySQL数据库springtest的user数据表进行讲解,下面通过一个实例讲解如何使用Eclipse开发MyBatis入门程序。
① 创建Web应用,并添加相关JAR包
在Eclipse中创建一个名为ch6的Web应用,将MyBatis的核心JAR包、依赖JAR包以及MySQL数据库的驱动JAR包一起复制到/WEB-INF/lib目录下。添加后的lib目录如图6.3所示。

图6.3 MyBatis相关的JAR包
② 创建日志文件
MyBatis默认使用log4j输出日志信息,如果开发者需要查看控制台输出的SQL语句,那么需要在classpath路径下配置其日志文件。在ch6应用的src目录下创建log4j.properties文件,其内容如下:

在日志文件中配置了全局的日志配置、MyBatis的日志配置和控制台输出,其中MyBatis的日志配置用于将com.mybatis包下所有类的日志记录级别设置为DEBUG。该配置文件内容不需要开发者全部手写,可以从MyBatis使用手册中的Logging小节复制,然后进行简单修改。
③ 创建持久化类
在src目录下创建一个名为com.mybatis.po的包,在该包中创建持久化类MyUser,注意在类中声明的属性与数据表user(创建表的代码参见源代码中的ch7.sql)的字段一致。
MyUser的代码如下:

④ 创建映射文件
在src目录下创建一个名为com.mybatis.mapper的包,在该包中创建映射文件UserMapper.xml。
UserMapper.xml文件的内容如下:

在上述映射文件中,<mapper>元素是配置文件的根元素,它包含了一个namespace属性,该属性值通常设置为“包名+SQL映射文件名”,指定了唯一的命名空间;子元素<select>、<insert>、<update>以及<delete>中的信息是用于执行查询、添加、修改以及删除操作的配置。在定义的SQL语句中,“#{}”表示一个占位符,相当于“?”,而“#{uid}”表示该占位符待接收参数的名称为uid。
⑤ 创建MyBatis的配置文件
在src目录下创建MyBatis的核心配置文件mybatis-config.xml,在该文件中配置了数据库环境和映射文件的位置,具体内容如下:

上述映射文件和配置文件都不需要读者完全手动编写,都可以从MyBatis使用手册中复制,然后做简单修改。
⑥ 创建测试类
在src目录下创建一个名为com.mybatis.test的包,在该包中创建MyBatisTest测试类。在测试类中首先使用输入流读取配置文件,然后根据配置信息构建SqlSessionFactory对象。接下来通过SqlSessionFactory对象创建SqlSession对象,并使用SqlSession对象的方法执行数据库操作。
MyBatisTest测试类的代码如下:

上述测试类的运行结果如图6.4所示。

图6.4 MyBatis入门程序的运行结果