如何通过Spring Boot + Mybatis + Mybatis Generator构建项目?

时间:2018-02-25 16:59:37

标签: spring-boot mybatis mybatis-generator

我按照mybatis官方网站逐步建立我的项目,但它总是不能很好地工作,所以我希望你能从头到尾给我一个完整的指导,非常感谢。

2 个答案:

答案 0 :(得分:1)

步骤1.构建一个名为booking的新春季启动项目。

这一步基本上是,我会跳过它。

步骤2.将mybatis-generator添加到项目中。

这可以帮助我们自动生成实体和mapper类mybatis,这对我们节省时间非常有用。

  
      
  1. 在pom.xml中添加插件配置
  2.   
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.5</version>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>6.0.6</version>
                </dependency>
            </dependencies>
        </plugin>
  
      
  1. 在基本资源路径上创建generatorConfig.xml。
  2.   
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="MySqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/booking?useSSL=false"
                        userId="root"
                        password="123456">
            <property name="nullCatalogMeansCurrent" value="true" />
        </jdbcConnection>

        <javaModelGenerator targetPackage="com.clycle.booking.entity" targetProject="C:\Users\a243903\projects\booking\webapi\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="com.clycle.booking.mapper"  targetProject="C:\Users\a243903\projects\booking\webapi\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.clycle.booking.mapper"  targetProject="C:\Users\a243903\projects\booking\webapi\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <table tableName="%">
        </table>

    </context>
</generatorConfiguration>
  
      
  1. 创建maven运行/调试配置以运行此插件。
  2.   

enter image description here

它将自动生成所有实体,映射器类和映射器xml。 -Dmybatis.generator.overwrite = true,表示在使用maven运行mybatis生成器时它将覆盖现有实体或映射器类。

步骤3.将mybatis添加到此项目中。

  
      
  1. 在pom.xml中添加mybatis依赖项
  2.   
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>
  
      
  1. 在基本资源路径上创建mybatis-config.xml。
  2.   
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="logImpl" value="LOG4J" />
    </settings>

    <typeAliases>
        <package name="com.clycle.booking.entity" />
    </typeAliases>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC">
                <property name="" value="" />
            </transactionManager>
            <dataSource type="UNPOOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/booking" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <package name="com.clycle.booking.mapper" />
        <!--<mapper resource="com/clycle/booking/mapper/ShopMapper.xml" />-->
    </mappers>
</configuration>
  
      
  1. 为应用程序主类添加@MapperScan。
  2.   
@SpringBootApplication
@MapperScan({"com.clycle.booking.mapper"})
public class BookingApplication {

    public static void main(String[] args) {
        SpringApplication.run(BookingApplication.class, args);
    }
}
  
      
  1. 自动装配的映射器界面,用于操作您的数据库。
  2.   
@Autowired
private ShopMapper shopMapper;

@PostMapping(RoutePath.SHOP_LIST)
public List<Shop> GetList() {

    try {
        return shopMapper.selectAll();
    } catch (Exception ex) {
        return null;
    }
}

答案 1 :(得分:0)

您可以下载以下项目:https://github.com/yyqian/spring-boot-mybatis-generator。 一切都可以在我的计算机上正常工作。