项目一 8 购销合同管理,mybatis的逆向生成工具

博客回顾了Dubbo组件及与Spring整合,重点介绍MyBatis逆向生成工具,包括搭建环境、生成dao层方法和条件查询。还涉及购销合同,介绍相关数据库表,以及购销合同管理和货物的保存、更新、删除操作,最后布置了代码同步和附件管理作业。

回顾

  • dubbo中的组件(服务的提供者,服务的消费者,注册中心,监控中心 )
  • 服务的提供者 : @Serivce
  • 服务的消费者 : @Refrenece
  • spring和dubbo整合 : 应用名称,注册中心,注解包扫描,协议端口,启动检查
  • 案例:企业申请

在这里插入图片描述

1 mybaits是逆向生成 generator

是mybatis官方提供的一套工具类,帮助我们根据数据库表生成最基本的实体类,dao接口和sql映射文件

1.1 搭建环境(了解)

###1坐标

    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.7</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.5</version>
    </dependency>
</dependencies>

###2.java类

 */
public class GeneratorSqlMapTest {

    public void generator() throws Exception{

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //指定 逆向工程配置文件
        InputStream in = GeneratorSqlMapTest.class.getClassLoader().getResourceAsStream("mybatis-generator-config.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(in);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
                callback, warnings);
        myBatisGenerator.generate(null);
        in.close();

    }
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlMapTest generatorSqlmap = new GeneratorSqlMapTest();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

###3.配置xml文件

<?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>

    <!--
        引入本地磁盘中的mysql驱动包
    -->
    <classPathEntry location="E:\\Program Files\\apache-maven\\repository-work\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/>

    <context id="context" targetRuntime="MyBatis3">
        <!-- 是否去除自动生成的注释 true:是 : false:否 -->
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!--
            数据库连接的基本属性(驱动,数据库访问url,用户名,密码)
        -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/saas-export"
                        userId="root"
                        password="111111"/>


        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--
            配置自动生成的实体类存放的位置
                    targetPackage : 存放的包名
                    targetProject : 保存的位置 (相对路径,绝对路径)
        -->
        <javaModelGenerator targetPackage="cn.itcast.domain.export" targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>


        <!--
            配置自动生成的映射文件的位置
                  targetPackage : 存放的包名
                  targetProject : 保存的位置 (相对路径,绝对路径)
        -->
        <sqlMapGenerator targetPackage="cn.itcast.dao.export" targetProject=".\src\main\resources">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!--
            配置自动生成的dao接口的位置
        -->
        <javaClientGenerator targetPackage="cn.itcast.dao.export"
                             targetProject="src/main/java" type="XMLMAPPER">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <!--
            配置数据库表
                schema :数据库名称
                tableName : 表名称
                domainObjectName : 实体类名称
                mapperName : dao接口和映射文件的名称
        -->
        <!-- 指定数据库表 -->
        <table schema="saas-export" tableName="co_factory" domainObjectName="Factory" mapperName="FactoryDao"
               enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="true" enableUpdateByExample="false"/>

    </context>
</generatorConfiguration>

1.2 生成dao层方法(重点)

 	//根据id查询
	Factory selectByPrimaryKey(String id);

	//根据id删除
    int deleteByPrimaryKey(String id);
    
	//可选列更新
	int updateByPrimaryKeySelective(Factory record);
	
	//选列保存
	int insertSelective(Factory record);
	
	//条件查询 Example查询
    List<Factory> selectByExample(FactoryExample example);

1.3 条件查询

1.创建example对象

2.创建criteria

3.向criteria中添加查询条件

2 购销合同

##2.1 概述

1561191055045

2.2 数据库表

在这里插入图片描述

生产厂家表 : co_factory

购销合同表 : co_contract

购销合同货物表 : co_contract_product

货物的附件表 : co_ext_cproduct

3 购销合同管理

##3.1 操作步骤

在这里插入图片描述

3.2 导入资源

将资料中准备好的实体类和dao防止到对应的export_dao模块和export_domain模块中

在这里插入图片描述

3.3 购销合同管理

4 货物管理

加粗样式

4.1 保存货物

!!!在product-list.jsp中删除enctype属性

在这里插入图片描述

4.2 更新货物

在这里插入图片描述

4.3 删除货物

在这里插入图片描述

作业:

​ 代码同步

​ 附件管理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值