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

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

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

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

先在项目目录下创建一个mbg.xml配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE generatorConfiguration
  3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5.  
  6. <generatorConfiguration>
  7. <!-- 配置数据库连接信息 -->
  8.  
  9. <context id="DB2Tables" targetRuntime="MyBatis3">
  10. <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
  11. connectionURL="jdbc:mysql://localhost:3306/ssm_crud"
  12. userId="root"
  13. password="admin">
  14. </jdbcConnection>
  15.  
  16. <javaTypeResolver >
  17. <property name="forceBigDecimals" value="false" />
  18. </javaTypeResolver>
  19. <!-- 指定javaBeean生成的位置 -->
  20. <javaModelGenerator
  21. targetPackage="com.atguigu.crud.bean"
  22. targetProject=".\src\main\java">
  23. <property name="enableSubPackages" value="true" />
  24. <property name="trimStrings" value="true" />
  25. </javaModelGenerator>
  26. <!-- 指定sql映射文件生成的位置 -->
  27. <sqlMapGenerator
  28. targetPackage="mapper"
  29. targetProject=".\src\main\resources">
  30. <property name="enableSubPackages" value="true" />
  31. </sqlMapGenerator>
  32. <!-- 指定DAO接口生成的位置 -->
  33. <javaClientGenerator type="XMLMAPPER"
  34. targetPackage="com.atguigu.crud.dao"
  35. targetProject=".\src\main\java">
  36. <property name="enableSubPackages" value="true" />
  37. </javaClientGenerator>
  38. <!-- 指定每个表的生成策略 -->
  39. <table tableName="tbl_emp" domainObjectName="Employee"></table>
  40. <table tableName="tbl_dept" domainObjectName="Department"></table>
  41.  
  42. </context>
  43. </generatorConfiguration>

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

  1. package com.atguigu.crud.test;
  2.  
  3. import org.mybatis.generator.api.MyBatisGenerator;
  4. import org.mybatis.generator.config.Configuration;
  5. import org.mybatis.generator.config.xml.ConfigurationParser;
  6. import org.mybatis.generator.exception.InvalidConfigurationException;
  7. import org.mybatis.generator.exception.XMLParserException;
  8. import org.mybatis.generator.internal.DefaultShellCallback;
  9.  
  10. import java.io.File;
  11. import java.io.IOException;
  12. import java.sql.SQLException;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15.  
  16. public class MBGTest {
  17. public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
  18. List<String> warnings = new ArrayList<String>();
  19. boolean overwrite = true;
  20. File configFile = new File("mbg.xml");
  21. ConfigurationParser cp = new ConfigurationParser(warnings);
  22. Configuration config = cp.parseConfiguration(configFile);
  23. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
  24. MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
  25. myBatisGenerator.generate(null);
  26. }
  27. }

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

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

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

  1. <commentGenerator>
  2. <property name="suppressDate" value="true" />
  3. <property name="suppressAllComments" value="true" />
  4. </commentGenerator>

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

SSM_CRUD新手练习(3)创建数据库的更多相关文章

  1. SSM_CRUD新手练习(2)配置文件

    配置之前现需要引入依赖的jar包: *Spring *SpringMvc *Mybatis *数据库连接池,驱动包 *其他(jstl,Servlet ,Junit..) 1.poxm.xml < ...

  2. DBCA创建数据库

    工具/原料 oracle database 11g 步骤/方法 1 确保安装好oracle database 11g 2 打开命令提示符(运行中输入CMD打开 或是在 附件中点击打开) 3 输入dbc ...

  3. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

  4. 使用EF CodeFirst 创建数据库

    EntityFramework 在VS2015添加新建项时,选择数据->ADO.NET 实体数据模型,有一下选项 来自数据库的EF设计器,这个就是我们最常用的EntityFramework设计模 ...

  5. ABP创建数据库操作步骤

    1 ABP创建数据库操作步骤 1.1 SimpleTaskSystem.Web项目中的Web.config文件修改数据库配置. <add name="Default" pro ...

  6. Oracle 11g静默安装软件+手工创建数据库

    由于是二次跳转+远程操作,无法使用图形界面,不能直接图形界面安装.采用静默安装软件+手工创建数据库的方式完成需求. 静默模式安装Oracle软件,配置监听程序 手工建库 检查各组件是否符合要求 1. ...

  7. 使用PD(PowerDesigner)图如何快速生成创建数据库表的SQL脚本

    打开PD软件: 1.新建概念模型(conceptual Data Model) File-->New Model-->Conceptual Data Mode 或者点击工作区,右键--&g ...

  8. 【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种 ...

  9. 利用Oracle创建数据库

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6217151.html 数据库的创建 打开"所有程序"-" ...

  10. [LINQ TO SQL]使用LINQ TO SQL创建数据库

    这篇博客将介绍如何使用LINQ TO SQL来创建数据库,以及如何映射Table之间的主外键关系. 我们的数据库表关系如下: Province与City之间1:M,City与Area之间1:M的关系. ...

随机推荐

  1. ceil,floor,trunc,round,sign几个函数在SQL的使用方法

    只是在oracle的环境下进行的几个数的测试,在这里只是举例说明,没有理论说明,抱歉. select ceil(1.8) from dual; --结果为1,向上取整select floor (1.8 ...

  2. Bonding

    一.简介 双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性   二.原理 网卡工作在混杂(promisc)模式,接收到达网卡的所有数 ...

  3. 4.Mysql中的运算符

    4.Mysql中的运算符运算符用来连接表达式.运算符包括:算术运算符.比较运算符.逻辑运算符.位运算符. 4.1 算术运算符算术运算符包括加(+).减(-).乘(*).除(/).取模(%,MOD) 5 ...

  4. js全局作用域

    全局作用域 不在任何函数内定义的变量就具有全局作用域.实际上,JavaScript默认有一个全局对象window,全局作用域的变量实际上被绑定到window的一个属性: var course = 'L ...

  5. 利用spring boot构建一个简单的web工程

    1.选择Spring InitiaLizr,    jdk选择好路径 2.设置项目信息 3.这一步是设置选择使用哪些组件,这里我们只需要选择web 4.设置工程名和路径

  6. angular2.0学习笔记1.开发环境搭建 (node.js和npm的安装)

    开发环境, 1.安装Node.js®和npm, node 6.9.x 和 npm 3.x.x 以上的版本. 更老的版本可能会出现错误,更新的版本则没问题. 控制台窗口中运行命令 node -v 和 n ...

  7. PAT 1036 跟奥巴马一起编程(15)(代码)

    1036 跟奥巴马一起编程(15)(15 分) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝"计算机科学教育周& ...

  8. PAT 1017 A除以B(20)(代码)

    1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...

  9. javascript 高级程序设计 一

    前言: 作为一个即将毕业.正在实习的大学生,我也默默的进入了开发者的行列.从一开始的c#编码狗到java程序员再到现在的JS开发者,我一直 希望自己可以在这个'万恶'的互联网时代走的更远.但是我还是一 ...

  10. (O)编写可维护的代码示例(原创)

    图片轮播: /*广告图片数组*/ var imgs=[ {"i":0,"img":"images/index/banner_01.jpg"} ...