一、新建項目
1.選擇SpringInitializr,然後點擊next
2.輸入你的項目名,點擊next
3.選擇web下的Spring Web Starter,點擊next
4.確認項目路徑和名字,點擊finish
5.項目新建成功後,會在右下角彈出提示框,maven的依賴需要從網絡下載,選啥都可以,不過建議Enable Auto-Import
可以看到 External Libraries中下載了很多依賴
6.點擊pom.xml,可以看到裏面已經有許多內容,我們可以根據自己項目的需要向其中添加依賴。下面給出一個網址,可以剪開,然後直接搜索。
比如,我需要連接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