zoukankan      html  css  js  c++  java
  • MyEclipse中MyBatisGenerator反转引擎插件的安装使用

    安装


    • 1、手动下载MyBatisGenerator插件
      提取码:u2gs

    • 2、在Myclispse安装目录MyEclipse 2017 CIdropins下创建myBatisgenerator文件夹

    • 3、将插件压缩包中的两个文件夹移动到mybatisgenerator文件夹中

    • 4、启动MyElicpse,选择File-New-Other,出现下图说明插件安装成功

    配置


    • 1、创建Java Project工程MyBatisGeneratorDemo,导入mybatis和mysql依赖

    • 2、在src目录下新建配置文件 generatorMapper.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>
    	<!--MySQL连接驱动 -->
    	<classPathEntry location="C:\Users\TR\Desktop\jar\mysql-connector-java-8.0.15.jar" />
    	<!--数据库链接URL,用户名、密码 -->
    	<context id="MyBatisGeneratorDemo" targetRuntime="Mybatis3">
    		<commentGenerator>
    			<property name="suppressDate" value="true" />
    			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
    			<property name="suppressAllComments" value="true" />
    		</commentGenerator>
    		<!-- 数据库连接 -->
    		<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
    			connectionURL="jdbc:mysql://localhost:3306/mysql?useUnicode=true&amp;serverTimezone=GMT&amp;useSSL=false&amp;characterEncoding=utf-8" userId="root" password="123456">
    		</jdbcConnection>
    		<!--是否启用java.math.BigDecimal -->
    		<javaTypeResolver>
    			<property name="forceBigDecimals" value="false" />
    		</javaTypeResolver>
    		<!-- 实体配置 -->
    		<javaModelGenerator targetPackage="am.entity"
    			targetProject="MyBatisGeneratorDemo/src">
    			<property name="enableSubPackages" value="true" />
    			<property name="trimStrings" value="true" />
    		</javaModelGenerator>
    		<!-- 映射xml文件 -->
    		<sqlMapGenerator targetPackage="am.mapper"
    			targetProject="MyBatisGeneratorDemo/src">
    			<property name="enableSubPackages" value="true" />
    		</sqlMapGenerator>
    		<!-- dao配置 -->
    		<javaClientGenerator type="XMLMAPPER"
    			targetPackage="am.dao" targetProject="MyBatisGeneratorDemo/src">
    			<property name="enableSubPackages" value="true" />
    		</javaClientGenerator>
    		<!-- 表的配置 -->
    		<table tableName="tab_user" domainObjectName="User" enableCountByExample="true"
    			enableUpdateByExample="true" enableDeleteByExample="true"
    			enableSelectByExample="true" selectByExampleQueryId="true">
    		</table>
    		<table tableName="tab_product" domainObjectName="Product" enableCountByExample="true"
    			enableUpdateByExample="true" enableDeleteByExample="true"
    			enableSelectByExample="true" selectByExampleQueryId="true">
    		</table>		
    	</context>
    </generatorConfiguration>
    
    • 需要修改的地方

      • 将MySQL连接驱动的location修改为本地mysql的jar包位置
      • 将context的id修改为项目工程的名称
      • 在数据库连接中设置mysql的驱动类、url、用户名和密码
      • 在实体配置、映射xml配置和Dao接口配置中,在targetPackage中分别设置存放实体类、映射文件、dao接口的包名,并将targetProject改为项目名称/src
      • 在表配置中,输入使用的表名和实体名
    • 完成后,右键运行

    • 控制台显示如下,说明成功。可能遇到的问题

    • 此时,在工程目录下自动生成三个包和相应的代码

    • 在src目录下分别新建mybatis配置文件与数据库配置文件

      • db.properties,数据库配置文件
      jdbc.driver=com.mysql.cj.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
      jdbc.username=root
      jdbc.password=123456
      
      • mybatis-config.xml,myBatis配置文件,在mappers中配置映射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">
      <configuration>
      <properties resource="db.properties"></properties>
      <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
          </dataSource>
        </environment>
      </environments>
      <mappers>
        <mapper resource="am/mapper/UserMapper.xml"/>
        <mapper resource="am/mapper/ProductMapper.xml"/>
      </mappers>
      </configuration>
      

    使用


    • 创建测试类TestProductMapper.java
    package am.dao;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.math.BigDecimal;
    import java.util.List;
    
    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.After;
    import org.junit.Before;
    import org.junit.Test;
    
    import am.entity.Product;
    import am.entity.ProductExample;
    import am.entity.ProductExample.Criteria;
    
    public class TestProductMapper {
    
    	private SqlSession sqlSession;
    	private ProductMapper productMapper;
    
    	@Before
    	public void Init() throws IOException {
    		String resource = "mybatis-config.xml";
    		InputStream inputStream = Resources.getResourceAsStream(resource);
    		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    		sqlSession = sqlSessionFactory.openSession();
    		productMapper = sqlSession.getMapper(ProductMapper.class);
    
    	}
    
    	@After
    	public void close() {
    		if (sqlSession != null)
    			sqlSession.close();
    	}
    
    	/*
    	 * 查找所有的产品
    	 */
    	@Test
    	public void testFindAllProducts() {
    		System.out.println("查找所有的产品");
    		List<Product> list = productMapper.selectByExample(null);
    		for (Product product : list)
    			System.out.println(product.toString());
    	}
    
    	/*
    	 * 查找所有名称包含可乐 价格为3的产品
    	 */
    	@Test
    	public void testFindProductByParam() {
    
    		System.out.println("查找所有名称包含可乐 价格为3的产品");
    
    		ProductExample productExample = new ProductExample();
    		productExample.createCriteria().andPnameLike("%可乐%").andPriceEqualTo(new BigDecimal(3.0));
    
    		List<Product> list = productMapper.selectByExample(productExample);
    		for (Product product : list)
    			System.out.println(product.toString());
    	}
    }
    
    • 运行测试
  • 相关阅读:
    [wikioi]最长严格上升子序列
    [leetcode]Pascal's Triangle II
    [leetcode]Remove Duplicates from Sorted Array II
    [leetcode]Remove Duplicates from Sorted List
    STL中set底层实现方式
    有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
    C#基本语句
    C#程序大打开
    如何知道自己是工作组计算机中的哪个
    weka平台
  • 原文地址:https://www.cnblogs.com/ahmao/p/13217397.html
Copyright © 2011-2022 走看看