MyBatis generator的使用

一、新建项目

1.选择SpringInitializr,然后点击next

2.输入你的项目名,点击next

3.选择web下的Spring Web Starter,点击next

 

4.确认项目路径和名字,点击finish

 

5.项目新建成功后,会在右下角弹出提示框,maven的依赖需要从网络下载,选啥都可以,不过建议Enable Auto-Import

可以看到 External Libraries中下载了很多依赖

6.点击pom.xml,可以看到里面已经有许多内容,我们可以根据自己项目的需要向其中添加依赖。下面给出一个网址,可以剪开,然后直接搜索。

maven仓库

比如,我需要连接mysql数据库,搜索mysql:

将红圈圈出来的代码直接复制到pim.xml文件中

需要用到的依赖如下:

        <!--mySql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.10</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>
        <!-- log4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>

除此之外,还有一个反向工具插件

            <!--反向工具插件-->
            <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>

7.向resoursec中添加文件generatorConfig.xml,log4j.properties,mybatis.properties,这三个文件

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="mybatis.properties" />

	<!--数据库驱动包路径 -->
	<classPathEntry location="${drive.class.path}" />

	<context id="MySQLTables" targetRuntime="MyBatis3">
		<!--关闭注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
			<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
		</commentGenerator>

		<!--数据库连接信息 -->
		<jdbcConnection driverClass="${jdbc.driver}"
			connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}">
		</jdbcConnection>

		<!--生成的model 包路径 -->
		<javaModelGenerator targetPackage="${model.package}"
			targetProject="${target.project.java}">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<!--生成xml mapper文件 路径 -->
		<sqlMapGenerator targetPackage="${xml.mapper.package}"
			targetProject="${target.project.resources}">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- 生成的Dao接口 的包路径 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="${dao.package}" targetProject="${target.project.java}">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!--对应数据库表名 -->
		<table tableName="users" domainObjectName="Users"
			enableCountByExample="false" enableDeleteByExample="false"
			enableSelectByExample="false" enableUpdateByExample="false">
			<property name="useActualColumnNames" value="true" />
		</table>
	</context>
</generatorConfiguration>

其中,

tableName是数据库中想要生成实体类的表,domainObjectName是项目中将要生成的实体类的名字,需要根据自己的数据库进行修改

 

log4j.properties 代码如下:

log4j.rootLogger=DEBUG,stdout
### console ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
 
### mybatis ###
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=ERROR
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

此文件无需修改

mybatis.properties代码如下:

# jdbc
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456

#dbcp 
initialSize=0   
maxActive=10  
maxIdle=10   
minIdle=1  
maxWait=60000 

#mybatis generator
drive.class.path=D:/mysql-connector-java-5.1.47.jar
model.package=com.example.entity
dao.package=com.example.dao
xml.mapper.package=com.example.dao
target.project.java=D:/IdeaProjects/demo/src/main/java
target.project.resources=D:/IdeaProjects/demo/src/main/resources

 第一段代码#jdbc,设置数据库的连接,我的数据库是mysql,连接方式如上代码所示

第二段代码#dbcp,设置数据库的连接池

第三段代码#mybatis generator

           设置数据库的连接文件的绝对路径:

drive.class.path=D:/mysql-connector-java-5.1.47.jar

          设置生成的文件在项目中的相对路径,需要更改包名com.example为自己的项目的包名  :     

model.package=com.example.entity
dao.package=com.example.dao
xml.mapper.package=com.example.dao

           更改地址为自己项目的地址:

target.project.java=D:/IdeaProjects/mybatis/src/main/java
target.project.resources=D:/IdeaProjects/mybatis/src/main/resources

8.点击目录栏的Run下的EditConfigurations

9.找到Templates下的maven

             

 

10.点击+号

11.选择maven

 

12.在Command line中输入  mybatis-generator:generate -e,点击ok

 

13.选择generator的那一项

13.点击右边的绿色小箭头,运行

 

14.运行成功后的结构目录,可以看到生成了UsersMapper,Users和UsersMapper.xml

 

注:多次运行generator,Mapper和实体类文件会被覆盖,但Mapper.xml无法覆盖,会在同一个文件中出现重复的代码,所以如果重复运行同一个表的generator,需要删除xml文件后再运行,否则后期会报错。

 

后续操作:

application.properties

#加载数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/testjava
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#配置映射文件位置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity

#配置列名表名映射
mybatis.configuration.map-underscore-to-camel-case=true

注意:如果报错说

The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. 

那就把apalication的url改为

spring.datasource.url=jdbc:mysql://localhost:3306/testjava?serverTimezone=UTC 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值