美文网首页
mybatis-逆向工程

mybatis-逆向工程

作者: 我只是旁白 | 来源:发表于2017-11-08 20:00 被阅读0次

    1,导包

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.5</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>
    

    2,配置文件
    ①,gengratorConfig.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="testTables" targetRuntime="MyBatis3">
        <!-- 是否去掉注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
    
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/appmanager?useUnicode=true&amp;characterEncoding=utf-8"
                        userId="root"
                        password="12345678">
        </jdbcConnection>
    
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
            和 NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
    
        <!-- targetProject:生成POJO类的位置 -->
        <javaModelGenerator targetPackage="com.study.entity"
                            targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
    
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject=".\src\main\resources">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
    
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.study.dao" targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
    
        <!-- 指定数据库表 -->
        <!-- tableName:表名
        domainObjectName:生成java对象的类名
         -->
        <table tableName="user"
               domainObjectName="User"
               enableUpdateByExample="false"
               enableDeleteByExample="false">
        </table>
        <table tableName="app_version"
               domainObjectName="AppVersion"
               enableUpdateByExample="false"
               enableDeleteByExample="false">
        </table>
        <table tableName="app_info"
               domainObjectName="AppInfo"
               enableUpdateByExample="false"
               enableDeleteByExample="false">
        </table>
        <table tableName="app_category"
               domainObjectName="AppCategory"
               enableUpdateByExample="false"
               enableDeleteByExample="false">
        </table>
    </context>
    

    ②,mybatis-config.xml

    <?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"> <!--dtd表示文档约束文档-->
    

    <configuration>
    <properties resource="db.properties">
    </properties>

    <settings>
       <!-- <setting name="logImpl" value="LOG4J"/>-->
        <!--<setting name="mapUnderscoreToCamelCase" value="true"/>-->
        <setting name="autoMappingBehavior" value="FULL"/>
        <setting name="cacheEnabled" value="true"/>
    </settings>
    
    <typeAliases>
        <package name="com.tao.entity"></package>
    </typeAliases>
    
    <environments default="development">
        <environment id="development">
            <!--事务管理器-->
            <transactionManager type="JDBC"/>
            <!--数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverclass}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--映射器-->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
    </configuration>
    

    ③,db.properties

    jdbc.driverclass=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql:///appmanager?useUnicode=true&characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=12345678
    

    3,逆向工程生成

    package com.study;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by Administrator on 2017/10/26.
     */
    public class GeneratorSqlmap {
    public void generator() throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        // 指定逆向工程配置文件
        File configFile = new File("E:\\git\\mybatisgener\\src\\main\\resources\\generatorConfig.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);
    }
    
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }
    

    4,测试

    package com.study;
    
    import com.study.dao.UserMapper;
    import com.study.entity.User;
    import com.study.entity.UserExample;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.Test;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    
    /**
     * Created by Administrator on 2017/10/26.
     */
    public class Mytest {
    
    @Test
    public void test1() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession session = factory.openSession();
        //查询全部
        /* List<Object> objects = session.selectList("com.study.dao.UserMapper.selectByExample");
        System.out.println(objects);*/
    
        UserMapper mapper = session.getMapper(UserMapper.class);
        //条件查询
       /* UserExample userExample=new UserExample();
        UserExample.Criteria criteria = userExample.createCriteria();
        criteria.andUserNameEqualTo("admin").andUserPwdEqualTo("123456");
        List<User> users = mapper.selectByExample(userExample);
        System.out.println(users);*/
    
        //插入
        User user=new User("libai","132");
        int insert = mapper.insert(user);
        System.out.println(insert);
    
    
    }
    
    }
    

    相关文章

      网友评论

          本文标题:mybatis-逆向工程

          本文链接:https://www.haomeiwen.com/subject/huydpxtx.html