idea在ssm框架中自动生成数据库表代码

ssm项目如下所示


1.在pom.xml中加入如下代码

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.3</version>
        </dependency>

                <!-- 数据库映射生成工具 -->
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <configuration>
                        <configurationFile>src/main/resources/generator/generatorConfig.xml
                        </configurationFile>
                        <overwrite>true</overwrite>
                        <verbose>true</verbose>
                    </configuration>
                    <dependencies>
                        <!-- 数据库驱动  -->
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.39</version>
                        </dependency>
                    </dependencies>
                </plugin>

2.在resources中创建generator文件夹,并在文件夹中创建generatorConfig.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>

    <!-- 数据库权限配置文件-->
    <properties resource="properties/generator.properties"/>

    <context id="mysqlTables" targetRuntime="MyBatis3">
        <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
        一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖
        -->
        <property name="autoDelimitKeywords" value="false"/>
        <!-- 生成的Java文件的编码 -->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java代码 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        <!-- 格式化XML代码 -->
        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

        <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!-- 生成的pojo,将implements Serializable-->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>


        <!-- 数据库链接URL、用户名、密码 -->
        <jdbcConnection driverClass="${ge.jdbc.driver}" connectionURL="${ge.jdbc.url}" userId="${ge.jdbc.username}"
                        password="${ge.jdbc.password}"></jdbcConnection>


        <!-- java类型处理器
         用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl;
         注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 NUMERIC数据类型;
        -->
        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
            <!--
                true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型
                false:默认,
                    scale>0;length>18:使用BigDecimal;
                    scale=0;length[10,18]:使用Long;
                    scale=0;length[5,9]:使用Integer;
                    scale=0;length<5:使用Short;
             -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>


        <!-- java模型创建器,是必须要的元素
            负责:1,key类(见context的defaultModelType);2,java类;3,查询类
            targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;
            targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录
       -->
        <javaModelGenerator targetPackage="com.demo.domain" targetProject="./src/main/java">
            <!--  for MyBatis3/MyBatis3Simple
                自动为每一个生成的类创建一个构造方法,构造方法包含了所有的field;而不是使用setter;
             -->
            <property name="constructorBased" value="false"/>

            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="false"/>

            <!-- for MyBatis3 / MyBatis3Simple
                是否创建一个不可变的类,如果为true,
                那么MBG会创建一个没有setter方法的类,取而代之的是类似constructorBased的类
             -->
            <property name="immutable" value="false"/>

            <!-- 设置一个根对象,
                如果设置了这个根对象,那么生成的keyClass或者recordClass会继承这个类;在Table的rootClass属性中可以覆盖该选项
                注意:如果在key class或者record class中有root class相同的属性,MBG就不会重新生成这些属性了,包括:
                    1,属性名相同,类型相同,有相同的getter/setter方法;
                    <property name="rootClass" value="com.wanda.promotion.persistent.domain.prom.BaseDo"/>
             -->


            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>


        <!--对应的mapper.xml文件  -->
        <sqlMapGenerator targetPackage="mybatis" targetProject="./src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>


        <!-- 对应的Mapper接口类文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.dao"
                             targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>


        <!-- 不生成Example -->
        <table tableName="logtb"
               domainObjectName="LogTb"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">

            <!-- 参考 javaModelGenerator 的 constructorBased属性-->
            <property name="constructorBased" value="false"/>

            <!-- 默认为false,如果设置为true,在生成的SQL中,table名字不会加上catalog或schema; -->
            <property name="ignoreQualifiersAtRuntime" value="false"/>

            <!-- 参考 javaModelGenerator 的 immutable 属性 -->
            <property name="immutable" value="false"/>

            <!-- 指定是否只生成domain类,如果设置为true,只生成domain类,如果还配置了sqlMapGenerator,那么在mapper XML文件中,只生成resultMap元素 -->
            <property name="modelOnly" value="false"/>

            <!-- 参考 javaModelGenerator 的 rootClass 属性
            <property name="rootClass" value=""/>
             -->

            <!-- 参考javaClientGenerator 的  rootInterface 属性
            <property name="rootInterface" value=""/>
            -->

            <!-- 如果设置了runtimeCatalog,那么在生成的SQL中,使用该指定的catalog,而不是table元素上的catalog
            <property name="runtimeCatalog" value=""/>
            -->

            <!-- 如果设置了runtimeSchema,那么在生成的SQL中,使用该指定的schema,而不是table元素上的schema
            <property name="runtimeSchema" value=""/>
            -->

            <!-- 如果设置了runtimeTableName,那么在生成的SQL中,使用该指定的tablename,而不是table元素上的tablename
            <property name="runtimeTableName" value=""/>
            -->

            <!-- 注意,该属性只针对MyBatis3Simple有用;
                如果选择的runtime是MyBatis3Simple,那么会生成一个SelectAll方法,如果指定了selectAllOrderByClause,那么会在该SQL中添加指定的这个order条件;
             -->
            <property name="selectAllOrderByClause" value="age desc,username asc"/>

            <!-- 如果设置为true,生成的model类会直接使用column本身的名字,而不会再使用驼峰命名方法,比如BORN_DATE,生成的属性名字就是BORN_DATE,而不会是bornDate -->
            <property name="useActualColumnNames" value="false"/>
        </table>
    </context>
</generatorConfiguration>

3.在peoperties文件夹中添加generator.properties文件

代码如下:

ge.jdbc.driver=com.mysql.jdbc.Driver
ge.jdbc.url=jdbc:mysql://localhost:3306/articlesystemdb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
ge.jdbc.username=root
ge.jdbc.password=

4.打开调试配置,添加Maven


 

5.在Command line中填写:mybatis-generator:generate -e,如下


最后一步启动即可




  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
搭建 SSM 框架需要以下步骤: 1. 下载并安装 IntelliJ IDEA、MySQL、Tomcat 和 Maven。 2. 创建 Maven 项目,选择需要的依赖(Spring、SpringMVC、MyBatis 等)。 3. 配置 Spring 和 MyBatis 的配置文件,包括数据库连接信息、Mapper 映射文件等。 4. 编写 Controller、Service 和 DAO 层的代码,实现相应的功能。 5. 配置 Tomcat 服务器,将项目部署到 Tomcat 。 6. 启动 Tomcat 服务器,测试项目是否正常运行。 下面是一个简单的示例代码: 1. 创建 Maven 项目,添加以下依赖: ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>9.0.16</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>9.0.16</version> <scope>provided</scope> </dependency> ``` 2. 配置 Spring 和 MyBatis 的配置文件: 在 src/main/resources 目录下创建 spring 目录,添加 applicationContext.xml 和 spring-mvc.xml 文件,分别配置 Spring 和 SpringMVC,具体内容可以查看官方文档。 在 src/main/resources 目录下创建 mybatis 目录,添加 mybatis-config.xml 和 mapper 目录,分别配置 MyBatis 和 Mapper 映射文件,具体内容可以查看官方文档。 3. 编写 Controller、Service 和 DAO 层的代码,实现相应的功能。 示例代码: UserController.java ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/list") public String list(Model model) { List<User> userList = userService.getAllUsers(); model.addAttribute("userList", userList); return "user/list"; } @GetMapping("/add") public String add() { return "user/add"; } @PostMapping("/add") public String add(User user) { userService.addUser(user); return "redirect:/user/list"; } @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, Model model) { User user = userService.getUserById(id); model.addAttribute("user", user); return "user/edit"; } @PostMapping("/edit") public String edit(User user) { userService.updateUser(user); return "redirect:/user/list"; } @GetMapping("/delete/{id}") public String delete(@PathVariable("id") Long id) { userService.deleteUserById(id); return "redirect:/user/list"; } } ``` UserService.java ```java public interface UserService { List<User> getAllUsers(); User getUserById(Long id); void addUser(User user); void updateUser(User user); void deleteUserById(Long id); } ``` UserServiceImpl.java ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> getAllUsers() { return userMapper.getAllUsers(); } @Override public User getUserById(Long id) { return userMapper.getUserById(id); } @Override public void addUser(User user) { userMapper.addUser(user); } @Override public void updateUser(User user) { userMapper.updateUser(user); } @Override public void deleteUserById(Long id) { userMapper.deleteUserById(id); } } ``` UserMapper.java ```java public interface UserMapper { List<User> getAllUsers(); User getUserById(Long id); void addUser(User user); void updateUser(User user); void deleteUserById(Long id); } ``` UserMapper.xml ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.entity.User"> select * from user </select> <select id="getUserById" parameterType="java.lang.Long" resultType="com.example.entity.User"> select * from user where id = #{id} </select> <insert id="addUser" parameterType="com.example.entity.User"> insert into user(name, age) values(#{name}, #{age}) </insert> <update id="updateUser" parameterType="com.example.entity.User"> update user set name = #{name}, age = #{age} where id = #{id} </update> <delete id="deleteUserById" parameterType="java.lang.Long"> delete from user where id = #{id} </delete> </mapper> ``` 4. 配置 Tomcat 服务器,将项目部署到 Tomcat 。 在 IntelliJ IDEA ,选择 Edit Configurations,添加 Tomcat Server,选择本地安装的 Tomcat 目录,配置相应的端口和路径。 在 Maven 选择 package,生成 war 包,将 war 包放到 Tomcat 的 webapps 目录下。 5. 启动 Tomcat 服务器,测试项目是否正常运行。 在浏览器输入 http://localhost:8080/user/list,应该可以看到用户列页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值