mybaits generator 简单使用

1、创建一个普通的maven工程,导入依赖:

	<dependencies>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
    </dependencies>
    
    <build>
        <finalName>zsxt</finalName>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、在resources文件夹下创建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>

	<!--指定版本-->
	<context id="caigouTables" targetRuntime="MyBatis3">

		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:-->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>

		<!--mysql数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
						connectionURL="jdbc:mysql://127.0.0.1:3306/testdb" userId="root"
						password="123456">
		</jdbcConnection>

		<!-- oracle数据库配置
		<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
        	connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:xxx"
        	userId="xxx"
        	password="xxx">
        </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.soft.domain" targetProject="./src/main/java">
			<!-- enableSubPackages:是否让schema 作为包的后缀 -->
			<property name="enableSubPackages" value="true" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!-- 映射配置文件生成的位置 -->
		<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>

		<!-- mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.soft.mapper" targetProject="./src/main/java">
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>

		<!--各种表结构-->
		<table tableName="tb_user"></table>
		<table tableName="tb_content"></table>
		
	</context>

</generatorConfiguration>

3、创建com.soft.demo包,在该包下创建启动类GenDemo 具体内容如下:

package com.soft.demo;

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;


public class GenDemo {

    /**
     * 读取配置文件,生成代码
     * @throws Exception
     */
    public void generator() throws Exception{
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File(GenDemo.class.getResource("/generatorConfig.xml").toURI());
        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 {
            GenDemo genDemo = new GenDemo();
            genDemo.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

4、执行GenDemo,执行结果如下:
在这里插入图片描述
注:所有生成的类都没有实现序列化接口,如果使用的是分布式架构需要自己手动加上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一种持久层框架,它可以将SQL语句和Java代码分离,使得开发人员可以专注于编写SQL语句和Java代码的业务逻辑。以下是MyBatis使用方法: 1. 配置MyBatisMyBatis中,需要配置数据源和SqlSessionFactory。数据源可以是JNDI、Spring、Java Bean等,SqlSessionFactory是MyBatis的核心接口,它是线程安全的,可以被多个线程共享。以下是一个简单的SqlSessionFactory配置示例: ```xml <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> </mappers> </configuration> ``` 2. 编写Mapper接口 Mapper接口是MyBatis的核心接口之一,它定义了SQL语句和Java方法之间的映射关系。以下是一个简单的Mapper接口示例: ```java public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{id}") User getUserById(int id); } ``` 3. 编写Mapper XML文件 Mapper XML文件是MyBatis的另一个核心组件,它定义了SQL语句和Java方法之间的映射关系。以下是一个简单的Mapper XML文件示例: ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getUserById" resultType="com.example.model.User"> SELECT * FROM users WHERE id = #{id} </select> </mapper> ``` 4. 使用SqlSession执行SQL语句 SqlSession是MyBatis的核心接口之一,它提供了执行SQL语句的方法。以下是一个简单的SqlSession使用示例: ```java SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User user = userMapper.getUserById(1); sqlSession.close(); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值