mybatis学习笔记(五):mybatis 逆向工程

 在日常开发中,如果数据库中存在多张表,自己手动创建 多个pojo 类和编写 SQL 语法配置文件,未免太过繁琐,mybatis 也提供了一键式生成这些文件的操作,我们称为 mybatis 逆向工程。一般我们在开发中采用由数据库的表生成java代码。

mybatis 逆向工程的下载

贴上官网链接:

可以通过 maven 工程,java 程序,eclipse 插件等方式运行,为了后续开发的兼容性问题,在这里我们采用 java 程序通过 xml 方式配置,不用依赖于开发工具。

mybatis 逆向工程实例

在这里我们通过一个具体的例子来演示 mybatis 逆向工程的操作过程。

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="upload/201808281457392346.jpg" style="margin: 0px; padding: 0px; border: 0px; max-width: 700px;" alt="" />

注:

这里我遇到了一个问题,自己有编写日志文件,但是不知道为什么总是无法加载日志信息,报如下信息,查阅相关资料后也没能解决这个问题,以后有时间自己会解决这个问题。

应用 mybatis 逆向工程文件

我们可以复制粘贴逆向工程中的项目到自己另外的项目中使用,不推荐在原有项目中使用 mybatis generator 生成,因为很容易发生命名冲突覆盖的问题。

这里我们将 ItemsMapper.java, ItemsMapper.xml, Items.java, ItemsExample.java 复制粘贴到我们原有项目中,编写测试文件 ItemsMapperTest.java ,查询数据库中 "笔记本" 的记录:

package cn.itcast.ssm.test;  import cn.itcast.ssm.mapper.ItemsMapper; import cn.itcast.ssm.po.Items; import cn.itcast.ssm.po.ItemsExample; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;  import java.util.List;  public class ItemsMapperTest {     private ApplicationContext applicationContext;     private ItemsMapper itemsMapper;      //在 setUp这个方法得到 spring 容器     @Before     public void setUp() throws Exception{         applicationContext = new ClassPathXmlApplicationContext("classpath:config/spring/applicationContext.xml");         itemsMapper = (ItemsMapper) applicationContext.getBean("itemsMapper");     }      @Test     public void testSelectByExample(){         ItemsExample itemsExample = new ItemsExample();         //通过criteria 构造查询条件         ItemsExample.Criteria criteria = itemsExample.createCriteria();         criteria.andNameEqualTo("笔记本");         //可能返回多条记录         List<Items> list = itemsMapper.selectByExample(itemsExample);          System.out.println(list);     } } 

输出结果如下:

这里我刚开始运行的时候始终找不到 selectByExample() 这个方法,其实是因为找不到我的 mapper.xml 映射文件,困惑了好久,发现 mapper.xml 并没有发布到目标文件中,(idea下,eclipse 下并没有这个问题,接口类和映射文件放在同一目录下是允许的)。

所以我们应该将映射文件放在 resourcs 目录下,再在 mybatis 全局配置文件中加载映射文件,再次执行上述测试文件,便不会找不到我们的映射文件了。

<!-- 加载映射文件 -->     <mappers>         <!-- 通过 resource 方法一次加载一个映射文件 -->         <mapper resource="config/sqlmap/ItemsMapper.xml"/>     </mappers>https://www.cnblogs.com/weixuqin/p/9543454.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信