MyBatis中使用逆向工程

4.1使用逆向工程所需的工程模式:


4.2 GeneratorSqlmap.java

package com.eduask.generator;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

importorg.mybatis.generator.api.MyBatisGenerator;

importorg.mybatis.generator.config.Configuration;

importorg.mybatis.generator.config.xml.ConfigurationParser;

importorg.mybatis.generator.exception.XMLParserException;

importorg.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorSqlmap {

    publicvoid generator() throws Exception{

        List<String>warnings = new ArrayList<String>();

       booleanoverwrite = true;

       FileconfigFile = new File("generatorConfig.xml");

       ConfigurationParsercp = new ConfigurationParser(warnings);

       Configurationconfig = cp.parseConfiguration(configFile);

       DefaultShellCallback callback = newDefaultShellCallback(overwrite);

       MyBatisGeneratormyBatisGenerator = new MyBatisGenerator(config,

              callback,warnings);

       myBatisGenerator.generate(null);

 

     }

     publicstatic void main(String[] args) throws Exception {

       try{

           GeneratorSqlmapgeneratorSqlmap = new GeneratorSqlmap();

           generatorSqlmap.generator();

       }catch (Exception e) {

           e.printStackTrace();

       }

      

     }

 

}

4.3 generatorConfig.xml

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE generatorConfiguration

  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration1.0//EN"

  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

   <context id="testTables"targetRuntime="MyBatis3">

     <commentGenerator>

        <!-- 是否去除自动生成的注释 true:是 false: -->

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

     </commentGenerator>

     <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->

     <jdbcConnection driverClass="com.mysql.jdbc.Driver"

        connectionURL="jdbc:mysql://localhost:3306/mydb"userId="root"

        password="root">

     </jdbcConnection>

      <!-- 默认false,把JDBC DECIMAL NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL

        NUMERIC 类型解析为java.math.BigDecimal -->

     <javaTypeResolver>

        <property name="forceBigDecimals" value="false" />

     </javaTypeResolver>

 

     <!-- targetProject:生成PO类的位置 -->

     <javaModelGenerator targetPackage="com.eduask.pojo"

        targetProject=".\src">

        <!-- enableSubPackages:是否让schema作为包的后缀 -->

        <property name="enableSubPackages" value="false" />

        <!-- 从数据库返回的值被清理前后的空格 -->

        <property name="trimStrings" value="true" />

     </javaModelGenerator>

        <!-- targetProject:mapper映射文件生成的位置 -->

     <sqlMapGenerator targetPackage="com.eduask.mapper"

        targetProject=".\src">

        <!-- enableSubPackages:是否让schema作为包的后缀 -->

        <property name="enableSubPackages" value="false" />

     </sqlMapGenerator>

     <!-- targetPackagemapper接口生成的位置 -->

     <javaClientGenerator type="XMLMAPPER"

        targetPackage="com.eduask.mapper"

        targetProject=".\src">

        <!-- enableSubPackages:是否让schema作为包的后缀 -->

        <property name="enableSubPackages" value="false" />

     </javaClientGenerator>

     <!-- 指定数据库表 -->

     <table tableName="user1"></table>

    </context>

</generatorConfiguration>

4.4 下面就开始编写建立数据库表:


4.5 执行GeneratorSqlmap.java代码:


4.6刷新工程,之后会看到:


4.7之后我们新建一个测试类,用于数据的增删改查;


代码如下:

packagecom.eduask.test;

//新建一个User1Test的测试类,用于数据的增删改查;

importjava.io.IOException;

importjava.io.InputStream;

importorg.apache.ibatis.io.Resources;

importorg.apache.ibatis.session.SqlSession;

importorg.apache.ibatis.session.SqlSessionFactory;

importorg.apache.ibatis.session.SqlSessionFactoryBuilder;

importorg.junit.Before;

importorg.junit.Test;

importcom.eduask.mapper.User1Mapper;

importcom.eduask.pojo.User1;

import com.eduask.pojo.User1Example;

public class User1Test {

    //初始化;

    private SqlSessionFactory sessionFactory;

    @Before

    public void up() throws IOException{

        InputStream is=Resources.getResourceAsStream("SQLMapConfig.xml");

        sessionFactory=new SqlSessionFactoryBuilder().build(is);

    }

    //user1Add

    @Test

   public void insertUser() throws IOException {

        SqlSession session=sessionFactory.openSession();

        User1Mapperuser1Mapper=session.getMapper(User1Mapper.class); 

        User1 u=new User1(1, "tom", "123456");

        int result= user1Mapper.insert(u);

        session.commit();

        session.close();

        if(result==1){

               System.out.println("add success");

          }else{

               System.out.println("excute failure");

           }

        }   

}



4.8数据库中查询:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值