zoukankan      html  css  js  c++  java
  • SSM_CRUD新手练习(3)创建数据库

      在上一节我们已经完成了基本的SSM配置,现在需要创建我们数据库。

    我们需要两张表分别为tbl_emp(员工表)和tbl_dedpt(部门表)。同时d_id是部门表对应dept_id的外键。

    需要注意的是我们两张表的主键要设定为自动增长的,不然后面会报错。

    我们现在要用mybatis的逆向工程来生成我们所需要的javabean和对应的mapper.xml映射文件。当然自己写也是可以的,只不过太麻烦了。

    先在项目目录下创建一个mbg.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>
        <!-- 配置数据库连接信息 -->
    
      <context id="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/ssm_crud"
            userId="root"
            password="admin">
        </jdbcConnection>
    
        <javaTypeResolver >
          <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
          <!-- 指定javaBeean生成的位置 -->
        <javaModelGenerator 
        targetPackage="com.atguigu.crud.bean" 
        targetProject=".srcmainjava">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        </javaModelGenerator>
         <!-- 指定sql映射文件生成的位置 -->
        <sqlMapGenerator 
        targetPackage="mapper" 
         targetProject=".srcmain
    esources">
          <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 指定DAO接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER" 
        targetPackage="com.atguigu.crud.dao"  
        targetProject=".srcmainjava">
          <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 指定每个表的生成策略 -->
        <table tableName="tbl_emp" domainObjectName="Employee"></table>
        <table tableName="tbl_dept" domainObjectName="Department"></table>
    
      </context>
    </generatorConfiguration>

    配置完成后我们在test包下创建我们的运行文件MBGTest.java来生成我们需要的文件:

    package com.atguigu.crud.test;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.exception.InvalidConfigurationException;
    import org.mybatis.generator.exception.XMLParserException;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    import java.io.File;
    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    public class MBGTest {
        public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("mbg.xml");
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(null);
        }
    }

    刷新一下项目,就可以看到我们使用逆向工程生成的代码啦。

    你也会发现逆向生成的文件里面写满了注释,如果你想生成没有注释的代码的话,mybatis generator官网(http://www.mybatis.org/generator/configreference/commentGenerator.html)给了配置方法:

     我们只需要删除掉生成的文件,再重新配置一下mbg.xml文件。在context标签下指定生成的策略,不过记得放在最上面。

            <commentGenerator>
                <property name="suppressDate" value="true" />
                <property name="suppressAllComments" value="true" />
            </commentGenerator>

    下一节,我们来对生成的文件按照我们的需求修改一下。

  • 相关阅读:
    二叉树--转换二叉树(leetcode 108,leetcode 109)
    二叉树--层序遍历(leetcode 102
    二叉树--对称二叉树(leetcode 101
    数据库事务隔离
    二叉树--后序遍历的递归和非递归(leetcode 145
    二叉树--中序遍历的递归和非递归(leetcode 94
    二叉树--先序遍历的递归和非递归(leetcode 144
    链表--排序链表(leetcode 148
    接口的调用
    查锁表以及杀进程
  • 原文地址:https://www.cnblogs.com/fankailei/p/9832272.html
Copyright © 2011-2022 走看看